成都创新互联网站制作重庆分公司

如何使用Python爬虫获取王者荣耀皮肤高清图

本篇文章为大家展示了如何使用Python爬虫获取王者荣耀皮肤高清图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元平山做网站,已为上家服务,为平山各地企业和个人服务,联系电话:13518219792

使用Google浏览器,Python版本3.6.5,

打开王者荣耀官网,按F12打开调试界面,点击Network按F5刷新,找到herolist.json。点击右键复制地址

http://pvp.qq.com/web201605/js/herolist.json

如何使用Python爬虫获取王者荣耀皮肤高清图

然后开始代码:获取这个Json文件里的内容


import urllib.request

import json

import os

response = urllib.request.urlopen("http://pvp.qq.com/web201605/js/herolist.json")

hero_json = json.loads(response.read())

hero_num = len(hero_json)

print(hero_json)

print("hero_num: ", str(hero_num))

print('------------------------')

运行代码:

如何使用Python爬虫获取王者荣耀皮肤高清图

获取一个英雄的英雄名、皮肤名和皮肤数量

hero_name = hero_json[0]['cname']

skin_names = hero_json[0]['skin_name'].split('|')

skin_num = len(skin_names)

print('hero_name : ', hero_name)

print('skin_name: ', skin_names)

print('skin_num', skin_num)


运行代码:

如何使用Python爬虫获取王者荣耀皮肤高清图

接下来就是获取皮肤的高清图了:

在官网页面打开王者资料页面,点击英雄图片进入(这里是孙策),继续前面的操作,按F12,按F5刷新,找到皮肤图片,复制图片地址http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/510/510-bigskin-1.jpg

如何使用Python爬虫获取王者荣耀皮肤高清图

继续代码:根据获取到的网址,在代码里拼所要获取图片的网址(510代表的是json中的ename,1是第几个皮肤)

for i in range(hero_num):

for cnt in range(len(skin_names)):

        save_file_name = 'F:\heroskin\\' + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + skin_names[cnt] + '.jpg'

        skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(hero_json[i]['ename']) + '/' + str(hero_json[i]['ename']) + '-bigskin-' + str(cnt+1) + '.jpg'

        if not os.path.exists(save_file_name):

            urllib.request.urlretrieve(skin_url, save_file_name)

如何使用Python爬虫获取王者荣耀皮肤高清图

完整代码:

import urllib.request

import json

import os

response = urllib.request.urlopen("http://pvp.qq.com/web201605/js/herolist.json")

hero_json = json.loads(response.read())

hero_num = len(hero_json)

print(hero_json)

print("hero_num: ", str(hero_num))

print('------------------------')

hero_name = hero_json[0]['cname']

skin_names = hero_json[0]['skin_name'].split('|')

skin_num = len(skin_names)

print('hero_name : ', hero_name)

print('skin_name: ', skin_names)

print('skin_num', skin_num)

# 文件不存在则创建

save_dir = 'F:\heroskin'

if not os.path.exists(save_dir):

    os.mkdir(save_dir)

for i in range(hero_num):

    # 获取皮肤名称列表

    skin_names = hero_json[i]['skin_name'].split('|')

    if hero_json[i]['ename'] == 189:

        json_skin_name = {'skin_name': '阿摩司公爵|万物有灵'}

        skin_names = json_skin_name['skin_name'].split('|')

        for cnt in range(len(skin_names)):

            save_file_name = 'F:\heroskin\\' + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + \

                             skin_names[cnt] + '.jpg'

            skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(

                hero_json[i]['ename']) + '/' + str(hero_json[i]['ename']) + '-bigskin-' + str(cnt + 1) + '.jpg'

            if not os.path.exists(save_file_name):

                urllib.request.urlretrieve(skin_url, save_file_name)

        continue

    for cnt in range(len(skin_names)):

        # 保存的图片名

        save_file_name = 'F:\heroskin\\' + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + skin_names[cnt] + '.jpg'

        # 拼接的url

        skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(hero_json[i]['ename']) + '/' + str(hero_json[i]['ename']) + '-bigskin-' + str(cnt+1) + '.jpg'

        # 防止代码出错,重新运行后避免重复下载

        if not os.path.exists(save_file_name):

            # 使用request.urlretrieve模块

            urllib.request.urlretrieve(skin_url, save_file_name)

如何使用Python爬虫获取王者荣耀皮肤高清图

如何使用Python爬虫获取王者荣耀皮肤高清图


问题:

不知道是不是腾讯故意的还是我获取的方式有问题,获取的json文件鬼谷子的皮肤名是一段文字,

如何使用Python爬虫获取王者荣耀皮肤高清图

获取的时候就会出错,最后使用最笨的办法解决,重新创建了鬼谷子皮肤名的json文件,

如何使用Python爬虫获取王者荣耀皮肤高清图

这样就可以完全获取全部的英雄皮肤图片。

上述内容就是如何使用Python爬虫获取王者荣耀皮肤高清图,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


当前文章:如何使用Python爬虫获取王者荣耀皮肤高清图
文章来源:http://cxhlcq.com/article/gpcjdi.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部