观摩大佬
学习~
1
我要看,别隐藏!变!
666
看一下{:10_256:}
学习学习
学习
6666
666
哈哈
研究研究
这个有什么用啊,哪位大神解释一下
蒋蒋蜀黍 发表于 2020-3-26 21:46
这个有什么用啊,哪位大神解释一下
图片爬下来好看{:5_109:}
厉害厉害
因为前五个英雄不在静态html里,需要获取json
import requests
import time
import json
from lxml import etree
from string import digits
base_url = 'https://pvp.qq.com/web201605/js/herolist.json'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"
}
response = requests.get(base_url, headers = headers)
data_str = response.text
data_list = json.loads(data_str)
for i in data_list:
ename = i['ename']
url = 'https://pvp.qq.com/web201605/herodetail/' + str(ename) + '.shtml'
response = requests.get(url, headers=headers)
response.encoding = "gbk"
html = etree.HTML(response.text)
hero = html.xpath('//div[@class="crumb"]/label/text()')
skin_names = html.xpath('//div[@class="pic-pf"]/ul[@class="pic-pf-list pic-pf-list3"]/@data-imgname')
for j in skin_names:
skin_na = j.translate(str.maketrans('', '', digits)).split('|')
skin_name = []
for i in skin_na:
skin_name.append(i.strip('&'))
for skin_num in range(1, len(skin_name) + 1):
skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(ename) + '/' + str(ename) + '-bigskin-' + str(skin_num) + '.jpg'
# print(skin_url)
skin_data = requests.get(skin_url, headers=headers).content
with open('skin_photo\\' + str(hero) + '-' + skin_name + '.jpg', 'wb') as f:
print('正在下载图片:', str(hero) + '-' + skin_name)
f.write(skin_data)
这都可以?长见识啦
kkkssso 发表于 2020-3-27 22:17
因为前五个英雄不在静态html里,需要获取json
感谢大佬分享,,学到了
可能是名字不对,比如曜(yao)在官方文件中叫东方曜(DongFang yao),所以爬取不到。我用Unity3D的Asset Studio从手机上取出王者荣耀皮肤和模型的时候也遇到过这样的问题……