趣味学python(013)

python——爬取LOL英雄图片

今天小编学习到了爬取LOL英雄图片的代码,特来分享一下?????

今天用到了反爬措施是,webdriver,直接调用浏览器进行数据访问,拿到html数据。

需要用到的库: selenium

requests,lxml

requests用于请求网站,获取html数据(通常针对没有反爬措施网址),可参考Robots协议。

from selenium import webdriver
from lxml import etree
import requests
import os

1:首先是访问网页,拿到html数据

driver = webdriver.Chrome()
driver.get(“https://lol.qq.com/data/info-heros.shtml”)
html = driver.page_source
driver.close()

2:抽取想要的名称,图片链接

html = etree.HTML(html)
src_list = html.xpath(’//ul[@id=“jSearchHeroDiv”]/li/a[@href=“info-defail.shtml?id=Aatrox”]/img/@src’)
tit_list = html.xpath(’//ul[@id=“jSearchHeroDiv”]/li/a[@href=“info-defail.shtml?id=Aatrox”]/p/text()’)
print(src_list, tit_list)
在这里插入图片描述
可以先输出src_list,tit_list,以确保获得数据。再进行下一步。
注意 图片属于二进制数据,故需要用content提取二进制数据。

for src, tit in zip(src_list,tit_list):

#下载图片
if not os.path.exists(‘tit’ + ‘.png’):
os.mkdir(‘tit’ + ‘.png’)
src = “https:” + src
response = requests.get(src)
# 保存图片
with open(tit + ‘.png’,‘wb’) as f:
f.write(response.content)

在这里插入图片描述

最后展示一下小编做出来的结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值