英雄联盟的官网是真的难爬啊!各种手段烦的不行…

2018-08-14 10:06:55来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

打开英雄联盟官网,点击游戏资料,继续按F12,按F5刷新,就会发现有一个champion.js文件,复制这个js文件的地址.和王者荣耀不同,这个是js而王者是json比较好处理。js中有英雄的编号和名字,将keys中的数据拿出来。

进群:548377875   即可获取数十套PDF哦!

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

在页面中点开英雄资料,没有英雄的皮肤url,需要右键,在新标签页打开,获取到连接http://ossweb-img.qq.com/images/lol/web201310/skin/big266000.jpg

根据获取到的链接分析,big后前三个数字代表英雄的编号,后三个代表皮肤的个数,根据此来拼接获取皮肤图片的链接。每个英雄的皮肤不超过20个,以此来循环获取拼接。(获取的链接会有大量的没有响应的链接)

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

链接获取到之后,开始根据链接来下载皮肤

先生成文件的保存路径

'''

根据字典的value值获取英雄名字,将其作为文件名和保存路径

'''

def name_pic(dict_js, path):

list_filePath = []

for name in dict_js.values():

for i in range(20):

file_path = path + name + str(i) + '.jpg'

list_filePath.append(file_path)

print(list_filePath)

return list_filePath

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

英雄联盟的官网是真的难爬啊!各种手段烦的不行!获取996个皮肤

 

获取到996个皮肤


至此,皮肤获取完毕。当然还可以优化,可以尝试使用多线程改进该程序,图片太多,单线程过慢。还有皮肤链接的生成问题,考虑是否有更好的解决办法,不会去生成大量无用的链接。程序会去请求这些无用的链接,造成大量资源浪费。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:转-求解最大连续子数组的算法

下一篇:神级装逼技能来了!利用Python发邮件远程控制自己电脑!不要太强