zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python:爬取王者荣耀英雄皮肤海报!

Python 爬取 荣耀 王者 英雄 皮肤 海报
2023-09-27 14:22:47 时间

运行代码如下:

import urllib.request
import re


url = 'https://pvp.qq.com/web201605/herolist.shtml'
a = urllib.request.urlopen(url) 
a = a.read() 
a = a.decode('gbk')  

a = (re.compile('输入英雄不存在,请重新输入' + "(.*?)" + '英雄介绍', re.S).findall(a))[0] 
id = re.compile('<li><a href="herodetail/' + '(.*?)' + '.shtml"', 	re.S).findall(a)  
name = re.compile('height="91" alt="' + '(.*?)' + '">').findall(a)  
print('本次共抓取到' + str(len(id)) + '个英雄数据')

r = True
while r:
f = input('请输入想要保存的路径:')
if f == '':
    print('不能为空')
if f != '':
    r = False


i = 0
for i in range(0, len(id) + 1): 
print('正在下载' + name[i])
url1 = 'https://pvp.qq.com/web201605/herodetail/' + id[i] + '.shtml' 
url1 = ((urllib.request.urlopen(url1)).read()).decode('gbk')  
pf = re.compile('data-imgname="' + '(.*?)' + '">', re.S).findall(url1)  
pf = pf[0]

pf = pf.replace('&', '', )
pf = pf.replace('0', '', )
pf = pf.replace('1', '', )
pf = pf.replace('2', '', )
pf = pf.replace('3', '', )
pf = pf.replace('4', '', )
pf = pf.replace('5', '', )
pf = pf.replace('6', '', )
pf = pf.replace('7', '', )
pf = pf.replace('8', '', )
pf = pf.replace('9', '', )

pf = pf.split('|')
print(pf)

for i1 in range(0, len(pf)):  
    print(name[i] + '-' + pf[i1])
    url2 = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + id[i] + '/' + id[i] + '-bigskin-' + str(
        i1 + 1) + '.jpg' 
    urllib.request.urlretrieve(url2, f + '/' + name[i] + '-' + pf[i1] + '.jpg')  

结果图片:在这里插入图片描述