首页 > 编程源码 > 【教程】20行Python代码爬取王者荣耀全英雄皮肤(3)

【教程】20行Python代码爬取王者荣耀全英雄皮肤(3)

楼主:微ζั͡ ั͡微 [2级] · 2019-12-19 ·  浏览594 · 编程源码 · ID:

实现非常地简单,代码注释也已经写得很清楚了,有了这个函数之后,我们只需调用一下,就可以下载图片了,整个程序的完整代码如下:

import os

import requests

url = 'https://pvp.qq.com/web201605/js/herolist.json'

herolist = requests.get(url) # 获取英雄列表json文件

herolist_json = herolist.json() #
转化为json格式

hero_name = list(map(lambda x: x['cname'], herolist.json())) # 提取英雄的名字
hero_number = list(map(lambda x: x['ename'], herolist.json())) #
提取英雄的编号

# 下载图片
def downloadPic():
i = 0
for j in hero_number:
#
创建文件夹

os.mkdir("C:\\Users\\Administrator\\Desktop\\wzry\\" + hero_name[i])

i += 1
for k in range(10):
"># 进入创建好的文件夹
os.chdir("C:\\Users\\Administrator\\Desktop\\wzry\\" + hero_name[i])
i += 1
for k in range(10):
#
拼接url

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

j) + '-bigskin-' + str(k) + '.jpg'

im = requests.get(onehero_link) # 请求url
if im.status_code == 200:
open(str(k) + '.jpg', 'wb').write(im.content) #
写入文件

downloadPic()

结尾:

除去注释,接近20行的代码我们就完成了王者荣耀全英雄皮肤的爬取,是不是非常简单呢?我们可以测试一下这个程序,首先要在桌面上创建一个文件夹,名为wzry,因为这里的代码我已经写死了,如果要修改的话大家也可以进行修改,文件夹创建完成后点击运行即可,等待片刻,图片就全部下载完成了。

对于程序中json字符串的解析,我们还可以使用jsonpath模块来进行,使用该模块能够更加快捷地获取到我们想要的信息,解析方式如下:

hero_name = jsonpath.jsonpath(html_json, "$..cname")

hero_number = jsonpath.jsonpath(html_json, "$..ename")

1

2

该方法接收一个json字符串和解析规则,$…cname则表示从根目录下找寻任意位置的以cname为键的值,并放入字典中。

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者微ζั͡ ั͡微流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/20182.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
0条回复 |  最后回复于2019-12-19
登录注册 后才可进行评论
签到
56人签到
已签0天
  • 46633帖子
  • 1936758热点量
  • 184952火热值