文章目录

  • 爬取所有英雄头像
    • 选择爬取目标
    • 寻找图片位置
    • 引入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所有英雄头像和装备图片相关推荐

  1. python爬虫工程师 成长之路八 Selenium WebDriver

    文章目录 Selenium WebDriver 简介 Selenium WebDriver 原理 Selenium WebDriver 安装 Selenium WebDriver 使用 浏览器常用操作 ...

  2. Python爬虫新手入门教学(十八):爬取yy全站小视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  3. Python爬虫新手入门教学(十六):爬取好看视频小视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  4. Python爬虫新手入门教学(十五):爬取网站音乐素材

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  5. python爬虫工程师 成长之路一 初识爬虫

    文章目录 爬虫简介 为什么要学习爬虫 爬虫的结构 爬虫的类型 聚焦爬虫的工作原理和过程 爬虫常用功能 搜索引擎介绍 用户爬虫 最后 爬虫简介 爬虫,就是网络爬虫,也称为网页蜘蛛.网络机器人.网络蚂蚁等 ...

  6. Python爬虫新手入门教学(十四):爬取有声小说网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  7. 【Python爬虫系列教程 31-100】通过scrapy框架、爬取汽车之家宝马5系图片,学习Images管道

    现在爬取的汽车之家宝马5系车的图片,可以看到在这个网址里面,放了车的不同部位的图片,下面就要将他们爬下来并且保存到不同的文件夹. 首先用到的是pycharm IDE,这个软件可以提高编写代码的效率,因 ...

  8. python爬虫工程师 成长之路六(二) 非结构化数据之lxml库

    文章目录 lxml库 介绍 lxml库 使用 最后 lxml库 介绍 lxml是一个使用python编写的库,处理XML非常方便,另外还支持XPath,(上篇博客的XPath派上用处了XPath 基础 ...

  9. python爬虫工程师 成长之路六(一) 非结构化数据之XPath

    文章目录 XPath 介绍 XPath 节点 XPath 语法 路径表达式 谓语 通配符 选取若干路径 XPath 轴 步(step) XPath 运算符 最后 XPath 介绍 XPath(XML ...

最新文章

  1. 【HTML】框架集(Framesets)
  2. 取代C语言标准输入输出:cin 和 cout【C++标准输入输出】
  3. vue-cli 3.0 跨域请求代理
  4. jvm高并发_在JVM上对高并发HTTP服务器进行基准测试
  5. oracle job 与存储过程,应用oracle job和存储过程
  6. android中多态的应用_动态代理原理及在 Android 中的应用
  7. unity3d 求两个点长度_用Scratch3.0模拟求π的近似值(二) #寻找真知派#
  8. 标志寄存器操作(待续)
  9. NodeManager 启动一会儿挂掉
  10. ubuntu20.04版本下,ssh学习传输文件
  11. 如何使用 SEGGER Embedded Studio创建库文件?
  12. winrm java客户端_java通过winrm4j远程连接win执行命令
  13. Linux 压测工具 stress 安装下载
  14. R语言进行人年发病率可信区间计算(per 1,000 person-years)
  15. 中央广播电视大学中等专业办公设备使用与维护
  16. python:使用 PythonMagick 生成 icon 图标
  17. 解决uniapp调试过程中的请求跨域和环境配置
  18. sql中的类型转换---学习
  19. 用java计算小数的双阶乘
  20. 文件是存储在计算机外存上的,计算机存储器——内存和外存.doc

热门文章

  1. 深入MYSQL之事务篇(一)
  2. jQuery实战3:菜单效果
  3. JavaScript DOM 编程艺术 (第二版)学习之3-4章
  4. 十一、用场效应管设计D触发器(高电平触发)(上升沿触发)(层次模块搭建)
  5. 【PTA】数据结构与算法->6-13 LinkList10-带头结点的单链表逆置【有题解视频,可本地编译器调试】作者 通信DS课程组单位 成都信息工程大学
  6. 腾讯qq对计算机进行更改,腾讯QQ电脑修改密码图文教程
  7. 带工作流的springboot后台管理项目,一个企业级快速开发解决方案
  8. css前端面试题(二)
  9. 工业视觉系统相关知识和选型介绍(二):镜头篇
  10. RabbitMQ 3.9