爬虫实战:王者荣耀、英雄联盟皮肤爬取(附源码,数据)

本人承接各种高校C语言、C++、Java语言等课程设计以及ppt、科学上网等,以及常见的电脑故障有需要的私信我或者微信18476275715

刚打完王者,闲来无事,感觉王者荣耀里面的皮肤还挺适合做壁纸的,故爬取了王者荣耀、英雄联盟的皮肤。

图片数据百度网盘分享:

王者荣耀:链接:https://pan.baidu.com/s/1SCByUdLZ5prdfXRyddMSjw    提取码:b85a

英雄联盟:链接:https://pan.baidu.com/s/1r3EoNqoVS9b0WKW2uKeYfw  提取码:e3p9 

正题开始:

我们先进入王者荣耀的官网,点右边的英雄/皮肤

爬虫实战:王者荣耀、英雄联盟皮肤爬取(附源码,数据)_第1张图片

进入到英雄/皮肤界面

爬虫实战:王者荣耀、英雄联盟皮肤爬取(附源码,数据)_第2张图片

按f12找到Request URL(这个就是我们爬虫要访问的url)

爬虫实战:王者荣耀、英雄联盟皮肤爬取(附源码,数据)_第3张图片

接下来就是网页分析了,大家可以访问http://pvp.qq.com/web201605/js/herolist.json,这里可以下载英雄清单

每一个英雄都有自己的编号:这里举例廉颇:ename:105,cname:廉颇,title:正义爆轰,skin_name:正义爆轰|地狱岩魂。

我们根据每个英雄特定信息,就可以访问到每个英雄的页面,然后将图片保存下来即可。

最后上代码:

import requests
import os

url = 'http://pvp.qq.com/web201605/js/herolist.json'  
head = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
response = requests.get(url, headers=head)
hero_list = response.json()
hero_name = list(map(lambda x:x['cname'], hero_list)) 
hero_number = list(map(lambda x:x['ename'], hero_list))

# 下载存储图片
def save_IMG():
    num = 0
    # 遍历英雄
    for i in hero_number:
        # 遍历皮肤,此处假定一个英雄最多有20个皮肤
        for sk_num in range(20):
            # 英雄皮肤的URL链接
            heroskin_links = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(i)+'/'+str(i)+'-bigskin-'+str(sk_num)+'.jpg'
            hl = requests.get(heroskin_links)
            if hl.status_code == 200:
                # 将图片保存下来,并以"英雄名称_皮肤序号"方式命名
                with open(hero_name[num] + str(sk_num) + '.jpg', 'wb') as f:
                    f.write(hl.content)
        num = num + 1

# 函数调用
save_IMG()

爬取结果如下:

 

有344个皮肤被下载,图片质量高清无法说,拿来做壁纸,甚至自己做一个壁纸app都是ok的。

大家如果爬取过程中有什么问题,或者需要爬取其它数据的,可以联系我。

你可能感兴趣的:(爬虫实战:王者荣耀、英雄联盟皮肤爬取(附源码,数据))