失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python高清壁纸_爬虫 抓取王者荣耀所有英雄皮肤高清壁纸(完美版本)

python高清壁纸_爬虫 抓取王者荣耀所有英雄皮肤高清壁纸(完美版本)

时间:2019-07-23 23:33:34

相关推荐

python高清壁纸_爬虫 抓取王者荣耀所有英雄皮肤高清壁纸(完美版本)

[python]代码库import urllib.request

import json

import os

import re

# 皮肤下载地址

skin_link = '/images/yxzj/img06/skin/hero-info/'

# 英雄主页

hero_link = '/web05/herodetail/'

# 英雄数据文件

json_link = '/web05/js/herolist.json'

# 载入英雄数据

json_data = urllib.request.urlopen(json_link)

# 获取英雄列表

hero_list = json.loads(json_data.read().decode('utf-8'))

# 显示英雄数量

print('本次共抓取到' + str(len(hero_list)) + '个英雄数据')

# 询问保存路径

r = True

while r:

des_dir = input('请输入想要保存的路径:')

if des_dir == '':

print('不能为空')

if des_dir != '':

if not os.path.exists(des_dir):

os.mkdir(des_dir)

r = False

for hero in hero_list:

hero_name = hero['cname']

ename = str(hero['ename'])

print('正在下载' + hero_name)

# 不使用直接读取json文件的皮肤数据原因是,官方的json文件里面的英雄皮肤写的不全

# skin_name = hero['skin_name']

# if not skin_name:

# skin_name = hero['skin_title']

# pf = skin_name.split('|') # 文本分割

url1 = hero_link + ename + '.shtml' # 英雄主页网址

url1 = ((urllib.request.urlopen(url1)).read()).decode('gbk') # 获取源码,并且转码为gbk

pf = pile('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(hero_name + '-' + pf[i1])

# 皮肤图片下载地址

img_url = skin_link + ename + '/' + ename + '-bigskin-' + str(i1 + 1) + '.jpg'

# 皮肤保存路径

skin_dir = des_dir + '/' + hero_name

if not os.path.exists(skin_dir):

os.mkdir(skin_dir)

urllib.request.urlretrieve(img_url, des_dir + '/' + hero_name + '/' + hero_name + '-' + pf[i1] + '.jpg') # 下载

如果觉得《python高清壁纸_爬虫 抓取王者荣耀所有英雄皮肤高清壁纸(完美版本)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。