使用python爬取奥特曼图片
爬取网址: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爬取奥特曼图片相关推荐
- 使用Python爬取网页图片
使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给 ...
- 利用python爬取网页图片
学习python爬取网页图片的时候,可以通过这个工具去批量下载你想要的图片 开始正题: 我从尤物网去爬取我喜欢的女神的写真照,我们这里主要用到的就两个模块 re和urllib模块,有的时候可能会用到t ...
- python爬取美女图片的练习
python 爬取美女图片的练习 主要使用 xpath 定位获取 图片的链接 本次练习使用到os库 ,lmxl库 , requests库 import requests from lxml impor ...
- Python爬取bing图片
我之前写过一篇Python爬取百度图片,有兴趣的朋友可以去读一下,这次写的是爬取Bing的图片. 打开Bing图片,搜索关键词,开始分析页面,可以发现bing和百度一样都是下滑自动加载,百度默认一次加 ...
- python爬取搜狗图片
python爬取搜狗图片 cond(`""" 对于动态加载的网站图片的获取,我们需要去分析js内容一定要让网页发生加载后去分析,分析network 里的XHR,可以看到需 ...
- Python爬取网站图片并保存,超级简单
Python爬取网站图片并保存,超级简单 先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSou ...
- Python爬取网页图片至本地
Python爬取网页图片至本地 爬取网页上的图片至本地 参考代码如下: # -*- codeing = utf-8 -*- import requests import rephotos = [] h ...
- Python爬取网站图片数据
Python爬取网站图片数据 找到需要爬取的网站地址 模拟网站http请求 根据调试模式获取的了解读取到真实的地址url,读取请求头数据和参数信息,模拟http请求调用 import requests ...
- 如何使用python爬取百度图片_python实现爬取百度图片的方法示例
本文实例讲述了python实现爬取百度图片的方法.分享给大家供大家参考,具体如下: import json import itertools import urllib import requests ...
最新文章
- 深度学习渐趋冷静,为何图形计算却逆势反涨?
- Flume TailDir 基本流程
- eclipse如何导出WAR包
- MySQL性能优化步骤
- AcWing 1230. K倍区间
- 改了上百遍!记上海交通大学第一篇《Science》
- homebrew mac_借助Homebrew使从Mac到Linux的转换更加容易
- 《Spring In Action(第4版)》阅读总结(四)渲染Web视图
- 团队博客作业-Week3
- OpenJDK8 u282发布一个月了,龙芯还没有更新跟进
- 红帽子linux装mysql_红帽学习之Linux安装
- CSR8811A12-ICXR-R蓝牙芯片
- 硬件科普系列之内存篇
- 邮箱密码暴力破解器(代码)
- python学习笔记(汇总)
- C++实现十进制转换
- 这些一夜爆火的国产软件,却一度被大众误以为是外国佬研发的。。。
- C1任务01-植物大战僵尸修改游戏存档(小白也能看懂)
- coap 返回版本信息_CoAP协议详解
- 前后台处理得到 前台图片 draw.io/ mxgraph
热门文章
- AD9361+ ZYNQ软件无线电平台搭建实例 | 基于创龙科技Zynq-7045、Zynq-7100平台
- pycharm快捷键和无法输入英文!
- AutoSAR 标准--基础安全特性
- 健身教练转行软件测试,完成了月薪9k目标
- 联想小新笔记本外接显示屏HDMI无信号
- 用python的opencv库在图片上画出蓝底黑字的文本框
- 回文树 PAM 学习笔记
- 王者服务器未响应会封号吗,为什么被封号,心里没点数么?《王者荣耀》会被封号的行为盘点!...
- JavaWeb - 黑马旅游网(6):旅游线路详情展示
- 二叉堆 - 原理与实现