python爬虫工程师 成长之路十 selenium+phantomjs+request爬取lol所有英雄头像和装备图片
文章目录
- 爬取所有英雄头像
- 选择爬取目标
- 寻找图片位置
- 引入selenium和phantomjs
- 构造xpath对元素定位
- 获取每个英雄的名字和头像url
- 最终步骤
- 爬取装备图片
- 最后
爬取所有英雄头像
选择爬取目标
这里我们选择
https://lol.qq.com/data/info-heros.shtml
英雄联盟英雄资料
寻找图片位置
通过浏览器的检查功能,寻找图片所在位置
观察发现所有英雄头像都处于"<img src="">"里面
所以,构建正则表达式如下
pattern1='<img src="(.+?)">'
是不是觉得腾讯的东西太简单了?其实,你一爬就会发现根本没有图片后面我发现这里使用的是js动态加载的
经过我反复琢磨,终于发现资源文件都在//lol.qq.com/biz/hero/champion.js
引入selenium和phantomjs
dr = webdriver.PhantomJS()
用phantomjs 解析js
构造xpath对元素定位
img=dr.find_elements_by_xpath('//ul//li//a//img')
获取每个英雄的名字和头像url
观察发现 每个img标签的src属性是url,alt属性是名字
for i in img:i.get_attribute('src')i.get_attribute('alt')
最终步骤
最终代码
from selenium import webdriver
import urllib.request
#无头浏览器
dr = webdriver.PhantomJS()
#打开网页
dr.get('https://lol.qq.com/data/info-heros.shtml')
#xpath定位
img=dr.find_elements_by_xpath('//ul//li//a//img')try: for i in img:name=i.get_attribute('alt')url=i.get_attribute('src')imgname="D:/picture/"+str(name)+".jpg"#保存进本地urllib.request.urlretrieve(url,filename=imgname)
except urllib.error.URLError as e:#简单异常处理pass#退出浏览器
dr.quit()
结果展示
至此,148个英雄头像爬取完毕
爬取装备图片
装备与英雄的大部分都相同,只需简单几步即可实现爬取装备图片
https://lol.qq.com/data/info-item.shtml
xpath也稍微有点不一样
dr.find_elements_by_xpath('//div//ul//li//img')
装备的名称位于img同级标签
dr.find_elements_by_xpath('//div//ul//li//p')
图片和名字是两个列表
最终代码
try: j=1 # 因为之前的xpath匹配出来多一个图片,这里从一开始去掉for i in name_list:#遍历name列表name=i.texturl=img_list[j].get_attribute('src')#获取图片urlj=j+1imgname="D:/picture/"+str(name)+".jpg"print(name+url)#保存进本地urllib.request.urlretrieve(url,filename=imgname)
except urllib.error.URLError as e:#简单异常处理pass
成功展示
鞋子和打野刀存在命名重复,会被覆盖一部分
最后
可以关注一下我的公众号,最近开始写公众号,我会在上面分享一些资源和发布一些csdn上发布不了的干货
点个关注是对博主最大的支持
python爬虫工程师 成长之路十 selenium+phantomjs+request爬取lol所有英雄头像和装备图片相关推荐
- python爬虫工程师 成长之路八 Selenium WebDriver
文章目录 Selenium WebDriver 简介 Selenium WebDriver 原理 Selenium WebDriver 安装 Selenium WebDriver 使用 浏览器常用操作 ...
- Python爬虫新手入门教学(十八):爬取yy全站小视频
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...
- Python爬虫新手入门教学(十六):爬取好看视频小视频
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...
- Python爬虫新手入门教学(十五):爬取网站音乐素材
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...
- python爬虫工程师 成长之路一 初识爬虫
文章目录 爬虫简介 为什么要学习爬虫 爬虫的结构 爬虫的类型 聚焦爬虫的工作原理和过程 爬虫常用功能 搜索引擎介绍 用户爬虫 最后 爬虫简介 爬虫,就是网络爬虫,也称为网页蜘蛛.网络机器人.网络蚂蚁等 ...
- Python爬虫新手入门教学(十四):爬取有声小说网站数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...
- 【Python爬虫系列教程 31-100】通过scrapy框架、爬取汽车之家宝马5系图片,学习Images管道
现在爬取的汽车之家宝马5系车的图片,可以看到在这个网址里面,放了车的不同部位的图片,下面就要将他们爬下来并且保存到不同的文件夹. 首先用到的是pycharm IDE,这个软件可以提高编写代码的效率,因 ...
- python爬虫工程师 成长之路六(二) 非结构化数据之lxml库
文章目录 lxml库 介绍 lxml库 使用 最后 lxml库 介绍 lxml是一个使用python编写的库,处理XML非常方便,另外还支持XPath,(上篇博客的XPath派上用处了XPath 基础 ...
- python爬虫工程师 成长之路六(一) 非结构化数据之XPath
文章目录 XPath 介绍 XPath 节点 XPath 语法 路径表达式 谓语 通配符 选取若干路径 XPath 轴 步(step) XPath 运算符 最后 XPath 介绍 XPath(XML ...
最新文章
- JS实现的表单验证和强大的×××
- OD使用教程18 - 调试篇18
- 虚拟机连接网络_Parallels Desktop 16教程PD16虚拟机共享网络和桥接网络设置方法
- ipad和iphone切图_如何在iPhone,iPad和Mac上签名PDF
- [转载] 纯函数和函数柯里化
- 大数据_Hbase_面试题0001
- mysql 随机槽_mysql怎样高效率随机获取n条数据
- vue中引用swiper轮播插件
- ocr原理 oracle,Oracle技术之RAC Voting disk和OCR的管理
- mp3排序软件哪个好用_电脑上有什么录音软件,哪个电脑录音软件好用
- 武-NC15522(Dijsktra最短路算法)
- 经典文献阅读之--lris(优于Scan Context的回环检测)
- 计算机网络钟中PCF,请问,为什么我向时钟芯片PCF8563中写入初始化数据后,读出来...
- 分析样布/面料的七个口诀
- android 人生日历,人生日历安卓版
- 跑步时戴什么耳机好、推荐几款专业跑步的耳机
- 使用Dockerfile创建包含nginx-fair和nginx-check模块的nginx镜像
- 基于JAVA汽车租赁系统 (Springboot框架) 开题报告
- 高通开发系列 - 总目录
- 惠普战x适合计算机专业吗,惠普战x锐龙版怎么样?电脑值得入手吗?
热门文章
- 2.级数与傅里叶级数
- 如何评价美颜api中人脸识别和人脸检测的准确度?
- PTA 转段考试 数据库myql (4篇)
- HatchBrush笔刷效果
- (SQL)查询选修张老师讲授所有课程的学生题解
- 【跨境电商】Zendesk最佳替代品,5款客服插件推荐
- 广电“科技少年”科普大赛在广州紫泥堂基地圆满闭幕
- 滑动平均(Moving Average Models,MA)模型
- 做神经网络用哪个笔记本,笔记本能跑神经网络么
- ElasticSearch(6.8.6)-es重建索引