利用python从网络上爬取图片_一篇文章教会你利用Python网络爬虫抓取王者荣耀图片...
点击上方“IT共享之家”,进行关注
回复“资料”可获赠Python学习福利
【一、项目背景】
王者荣耀作为当下最火的游戏之一,里面的人物信息更是惟妙惟肖,但受到官网的限制,想下载一张高清的图片很难。(图片有版权)。
以彼岸桌面这个网站为例,爬取王者荣耀图片的信息。
【二、项目目标】
实现将获取到的图片批量下载。
【三、涉及的库和网站】
1、网址如下:
http://www.netbian.com/s/wangzherongyao/index.htm/
2、涉及的库:requests、lxml
【四、项目分析】
首先需要解决如何对下一页的网址进行请求的问题。可以点击下一页的按钮,观察到网站的变化分别如下所示:
http://www.netbian.com/s/wangzherongyao/index_2.htmhttp://www.netbian.com/s/wangzherongyao/index_3.htmhttp://www.netbian.com/s/wangzherongyao/index_4.htm
观察到只有index_()变化,变化的部分用{}代替,再用for循环遍历这网址,实现多个网址请求。
http://www.netbian.com/s/wangzherongyao/index_{}.htm
【五、项目实施】
1、我们定义一个class类继承object,然后定义init方法继承self,再定义一个主函数main继承self。准备url地址和请求头headers。
import requestsfrom lxml import etreeimport timeclass ImageSpider(object):def __init__(self):self.firsr_url = "http://www.netbian.com/s/wangzherongyao/index.htm"self.url = "http://www.netbian.com/s/wangzherongyao/index_{}.htm"self.headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"}def main(self):passif __name__ == '__main__':spider= ImageSpider()spider.main()
2、对网站发生请求。
'''发送请求 获取响应'''def get_page(self, url):res = requests.get(url=url, headers=self.headers)html = res.content.decode("gbk") #网络编码return html #返回值
3、对请求到的数据进行处理
'''解析数据'''def parse_page(self, html):parse_html = etree.HTML(html)image_src_list = parse_html.xpath('//div[@class="list"]/ul/li/a//@href')for image_src in image_src_list:fa = "http://www.netbian.com" + image_src# print(fa)
4、在谷歌浏览器上,右键选择开发者工具或者按F12。
5、右键检查,找到图片二级的页面的链接,如下图所示。
6、对二级页面发生请求,for遍历得到的网址。
bimg_url = parse_html1.xpath('//div[@class="pic-down"]/a/@href')for i in bimg_url:diet = "http://www.netbian.com" + i# print(diet)html2 = self.get_page(diet)parse_html2 = etree.HTML(html2)# print(parse_html2)url2 = parse_html2.xpath('//table[@id="endimg"]//tr//td//a/img/@src')
7、将获取的图片写入文档,获取图片的title值作为图片的命名。
filename = parse_html2.xpath('//table[@id="endimg"]//tr//td//a/@title')for e in filename:# print(e)dirname = "./王者荣耀/" + e + '.jpg'html2 = requests.get(url=r, headers=self.headers).content# print(html2)print(dirname)with open(dirname, 'wb') as f:f.write(html2)print("%s下载成功" % filename)
8、在main方法调用,如下所示。因为第一页的网址是没有规律的,所以这里先判断一下是不是第一页。
def main(self):startPage = int(input("起始页:"))endPage = int(input("终止页:"))for page in range(startPage, endPage + 1):if page == 1:url = self.firsr_urlelse:url = self.url.format(page)# print(url)html = self.get_page(url)print("第%s页爬取成功!!!!" % page)# print(html)self.parse_page(html)
【六、效果展示】
1、运行程序,在控制台输入你要爬取的页数,如下图所示。
2、将下载成功的图片信息显示在控制台,如下图所示。
3、在本地可以看到效果图,如下图所示。
【七、总结】
1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、希望通过这个项目,能够帮助大家下载高清的图片。
3、本文基于Python网络爬虫,利用爬虫库,实现王者荣耀图片的抓取。实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
4、英雄有很多,大家自行选择你喜欢的英雄做为你的桌面的壁纸吧。
5、需要本文源码的小伙伴,后台回复“王者荣耀”四个字,即可获取。
看完本文有收获?请转发分享给更多的人
IT共享之家
入群请在微信后台回复【入群】
------------------- End -------------------
往期精彩文章推荐:
利用python从网络上爬取图片_一篇文章教会你利用Python网络爬虫抓取王者荣耀图片...相关推荐
- 如何用python搜索要用的素材_一篇文章教会你利用Python网络爬虫获取素材图片
[一.项目背景] 在素材网想找到合适图片需要一页一页往下翻,现在学会python就可以用程序把所有图片保存下来,慢慢挑选合适的图片. [二.项目目标] 1.根据给定的网址获取网页源代码. 2.利用正则 ...
- python网络爬虫_一篇文章教会你利用Python网络爬虫获取穷游攻略
点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台, ...
- python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)
[一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...
- python人脸识别实验报告总结_一篇文章带你了解Python 人脸识别有多简单
原标题:一篇文章带你了解Python 人脸识别有多简单 今天的Python学习教程给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提 ...
- python爬取素材图片代码_一篇文章教会你利用Python网络爬虫获取素材图片
[一.项目背景] 在素材网想找到合适图片需要一页一页往下翻,现在学会python就可以用程序把所有图片保存下来,慢慢挑选合适的图片. [二.项目目标] 1.根据给定的网址获取网页源代码. 2.利用正则 ...
- python下载电影天堂视频_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接...
点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的 ...
- python下载电影天堂视频教程_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知 ...
- 如何写一个python程序浏览淘宝_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)...
[一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 1. 准备Pycharm,下载安装等,可以参考这 ...
- python爬取抖音用户数据_一篇文章教会你用Python抓取抖音app热点数据
今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...
最新文章
- Vue轮播图插件---Vue-Awesome-Swiper
- python3语法错误-Python3 错误和异常
- 机器学习 聚类篇——DBSCAN的参数选择及其应用于离群值检测
- 高级SQL优化(三) 常用优化工具 ——《12年资深DBA教你Oracle开发与优化——性能优化部分》...
- linux常见基本命令
- SEO原创文章制作器
- python装饰器 property_介绍Python的@property装饰器的用法
- 15.5.1【Task实现细节】 生成的代码
- 网络协议 反扒机制 fidder 抓包工具
- firefox 插件配置
- linux aix 环境,Aix5.3安装Bash环境
- 第5章 用函数封装程序功能
- 计算机鼠标双击怎么,电脑鼠标双击变成属性的解决方法
- 教你写Linux设备驱动程序:一个简短的教程
- Python处理Excel数据-pandas篇
- java绘制菱形平行四边形_Java实现金字塔形菱形平行四边形
- Dline,一款让你爱不释手的去中心化社交应用
- 怎么给PDF删除其中一页,PDF删除其中一页的方法
- [风铃开发系列]IView动态菜单配置
- 实用Chrome插件-OneTab