爬取网址:http://www.ultramanclub.com/allultraman/

使用工具:pycharm,requests

进入网页

打开开发者工具

点击 Network

刷新网页,获取信息

其中的Request URL就是我们所爬取的网址

滑到最下有一个User-Agent,复制

向服务器发送请求

200意味着请求成功

使用 response.text 获取文本数据

可以看到有些乱码

使用encode转换

import requestsurl = 'http://www.ultramanclub.com/allultraman/'headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36'
}response = requests.get(url = url,headers=headers)
html = response.text
Html=html.encode('iso-8859-1').decode('gbk')
print(Html)

接下来开始爬取需要的数据

使用Xpath获得网页链接

要使用Xpath必须先导入parsel包

import requests
import parseldef get_response(html_url):headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36'}response = requests.get(url = html_url,headers=headers)return responseurl = 'http://www.ultramanclub.com/allultraman/'
response = get_response(url)
html=response.text.encode('iso-8859-1').decode('gbk')
selector = parsel.Selector(html)period_hrefs = selector.xpath('//div[@class="btn"]/a/@href')  #获取三个时代的网页链接for period_href in period_hrefs:print(period_href.get())

可以看到网页链接不完整,我们手动给它添加上去
period_href = 'http://www.ultramanclub.com/allultraman/' + period_href.get()

进入其中一个网页

跟之前的操作一样,用Xpath获取奥特曼的网页信息

for period_href in period_hrefs:period_href = 'http://www.ultramanclub.com/allultraman/' + period_href.get()# print(period_href)period_response = get_response(period_href).textperiod_html = parsel.Selector(period_response)lis = period_html.xpath('//div[@class="ultraheros-Contents_Generations"]/div/ul/li/a/@href')for li in lis:print(li.get())

运行后同样发现链接不完整

li = 'http://www.ultramanclub.com/allultraman/' + li.get().replace('./','')

拿到网址后继续套娃操作,就可以拿到图片数据

png_url = 'http://www.ultramanclub.com/allultraman/' + li_selector.xpath('//div[@class="left"]/figure/img/@src').get().replace('../','')

完整代码

import requests
import parsel
import osdirname = "奥特曼"
if not os.path.exists(dirname):     #判断是否存在名称为奥特曼的文件夹,没有就创建os.mkdir(dirname)def get_response(html_url):headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36'}response = requests.get(url = html_url,headers=headers)return responseurl = 'http://www.ultramanclub.com/allultraman/'
response = get_response(url)
html=response.text.encode('iso-8859-1').decode('gbk')
selector = parsel.Selector(html)period_hrefs = selector.xpath('//div[@class="btn"]/a/@href')  #获取三个时代的网页链接for period_href in period_hrefs:period_href = 'http://www.ultramanclub.com/allultraman/' + period_href.get()period_html = get_response(period_href).textperiod_selector = parsel.Selector(period_html)lis = period_selector.xpath('//div[@class="ultraheros-Contents_Generations"]/div/ul/li/a/@href')for li in lis:li = 'http://www.ultramanclub.com/allultraman/' + li.get().replace('./','')     #获取每个奥特曼的网址# print(li)li_html = get_response(li).textli_selector = parsel.Selector(li_html)url = li_selector.xpath('//div[@class="left"]/figure/img/@src').get()# print(url)if url:png_url = 'http://www.ultramanclub.com/allultraman/' + url.replace('.', '')png_title =li_selector.xpath('//ul[@class="lists"]/li[3]/text()').get()png_title = png_title.encode('iso-8859-1').decode('gbk')# print(li,png_title)png_content = get_response(png_url).contentwith open(f'{dirname}\\{png_title}.png','wb') as f:f.write(png_content)print(png_title,'图片下载完成')else:continue

当爬到 奈克斯特奥特曼的时候,就会返回None,调了半天,也没搞懂,所以用if url:语句跳过了奈克斯特奥特曼,有没有大佬知道原因

url = li_selector.xpath('//div[@class="left"]/figure/img/@src').get()

使用python爬取奥特曼图片相关推荐

  1. 使用Python爬取网页图片

    使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给 ...

  2. 利用python爬取网页图片

    学习python爬取网页图片的时候,可以通过这个工具去批量下载你想要的图片 开始正题: 我从尤物网去爬取我喜欢的女神的写真照,我们这里主要用到的就两个模块 re和urllib模块,有的时候可能会用到t ...

  3. python爬取美女图片的练习

    python 爬取美女图片的练习 主要使用 xpath 定位获取 图片的链接 本次练习使用到os库 ,lmxl库 , requests库 import requests from lxml impor ...

  4. Python爬取bing图片

    我之前写过一篇Python爬取百度图片,有兴趣的朋友可以去读一下,这次写的是爬取Bing的图片. 打开Bing图片,搜索关键词,开始分析页面,可以发现bing和百度一样都是下滑自动加载,百度默认一次加 ...

  5. python爬取搜狗图片

    python爬取搜狗图片 cond(`""" 对于动态加载的网站图片的获取,我们需要去分析js内容一定要让网页发生加载后去分析,分析network 里的XHR,可以看到需 ...

  6. Python爬取网站图片并保存,超级简单

    Python爬取网站图片并保存,超级简单 先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSou ...

  7. Python爬取网页图片至本地

    Python爬取网页图片至本地 爬取网页上的图片至本地 参考代码如下: # -*- codeing = utf-8 -*- import requests import rephotos = [] h ...

  8. Python爬取网站图片数据

    Python爬取网站图片数据 找到需要爬取的网站地址 模拟网站http请求 根据调试模式获取的了解读取到真实的地址url,读取请求头数据和参数信息,模拟http请求调用 import requests ...

  9. 如何使用python爬取百度图片_python实现爬取百度图片的方法示例

    本文实例讲述了python实现爬取百度图片的方法.分享给大家供大家参考,具体如下: import json import itertools import urllib import requests ...

最新文章

  1. 深度学习渐趋冷静,为何图形计算却逆势反涨?
  2. Flume TailDir 基本流程
  3. eclipse如何导出WAR包
  4. MySQL性能优化步骤
  5. AcWing 1230. K倍区间
  6. 改了上百遍!记上海交通大学第一篇《Science》
  7. homebrew mac_借助Homebrew使从Mac到Linux的转换更加容易
  8. 《Spring In Action(第4版)》阅读总结(四)渲染Web视图
  9. 团队博客作业-Week3
  10. OpenJDK8 u282发布一个月了,龙芯还没有更新跟进
  11. 红帽子linux装mysql_红帽学习之Linux安装
  12. CSR8811A12-ICXR-R蓝牙芯片
  13. 硬件科普系列之内存篇
  14. 邮箱密码暴力破解器(代码)
  15. python学习笔记(汇总)
  16. C++实现十进制转换
  17. 这些一夜爆火的国产软件,却一度被大众误以为是外国佬研发的。。。
  18. C1任务01-植物大战僵尸修改游戏存档(小白也能看懂)
  19. coap 返回版本信息_CoAP协议详解
  20. 前后台处理得到 前台图片 draw.io/ mxgraph

热门文章

  1. AD9361+ ZYNQ软件无线电平台搭建实例 | 基于创龙科技Zynq-7045、Zynq-7100平台
  2. pycharm快捷键和无法输入英文!
  3. AutoSAR 标准--基础安全特性
  4. 健身教练转行软件测试,完成了月薪9k目标
  5. 联想小新笔记本外接显示屏HDMI无信号
  6. 用python的opencv库在图片上画出蓝底黑字的文本框
  7. 回文树 PAM 学习笔记
  8. 王者服务器未响应会封号吗,为什么被封号,心里没点数么?《王者荣耀》会被封号的行为盘点!...
  9. JavaWeb - 黑马旅游网(6):旅游线路详情展示
  10. 二叉堆 - 原理与实现