吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4046|回复: 9
收起左侧

[Python 转载] 【搬运工】 使用python爬取英雄联盟的图片

[复制链接]
Alex.Merceryj 发表于 2018-11-10 14:25
本帖最后由 Alex.Merceryj 于 2020-7-30 15:23 编辑

首先声明,楼主不会python上个月看到 https://www.52pojie.cn/thread-797002-1-1.html 这个帖子写的LOL爬虫,捣鼓安装了python,下载的只有图片,没有英雄名字
于是乎百度搜索了一个。
原文地址 :https://blog.csdn.net/teak_on_my_way/article/details/81321509
没有最新的K/DA
在D:\LOLheroskin,效果如下:
微信图片_20181110141550.jpg

[Python] 纯文本查看 复制代码
###导入模块
import requests
from lxml import etree
import requests,json
import sys
import difflib
import os
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
# https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js 英雄列表
url='https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'

# 文件夹不存在则创建
save_dir = 'LOLHeroSkin'
if not os.path.exists(save_dir):
    os.mkdir(save_dir)

heros=json.loads(requests.get(url,headers=header).content)['hero']
for hero in heros:
    id=int(hero['heroId'])
    url='https://game.gtimg.cn/images/lol/act/img/js/hero/'+str(id)+'.js'
    skins=json.loads(requests.get(url,headers=header).content)['skins']
    for skin in skins:
        name=skin['name'].replace('/','_').replace('“','_').replace('”','_').replace(':','_').replace('"','_')
        imgUrl=skin['mainImg']
        if imgUrl=='': # 炫彩图片
            continue
        img=requests.get(imgUrl,header)
        with open(save_dir+'/'+name+'.jpg',"wb") as file:
            file.write(img.content)
        print(name+'.jpg  下载成功')


print("OK")


代码不用动,对于我这种菜鸟来说,环境搭建以及库的安装比较繁琐,索性整理了一个。

楼主使用的是VS2017 集成环境。新建python项目后,在python环境右击-查看所有python环境-在powerShell中打开,输入 安装命令就可以了
下载失败可能是有的图片链接失效了吧,我也不是太明白,最后附上python.exe文件。
链接: https://pan.baidu.com/s/1eRMeJUdT_vmrKkpV22kqMw 提取码: 4ava 复制这段内容后打开百度网盘手机App,操作更方便哦


2020.07.30更新说明:
时隔两年,终于把这段python整明白了,并且优化了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
lilihuakai + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

新浪装修 发表于 2018-11-10 14:34
支持一下
jccforever 发表于 2018-11-10 14:49
4561pkpk 发表于 2018-11-10 17:39
Alex-Mercer 发表于 2018-11-11 13:32
感谢楼主分享
Right_Hai 发表于 2018-11-11 16:07
下载失败http://ossweb-img.qq.com/images/lol/web201310/skin/big28006.jpg  name is K/DA 伊芙琳
下载失败http://ossweb-img.qq.com/images/lol/web201310/skin/big84009.jpg  name is K/DA 阿卡丽
下载失败http://ossweb-img.qq.com/images/lol/web201310/skin/big103015.jpg  name is K/DA 阿狸
下载失败http://ossweb-img.qq.com/images/lol/web201310/skin/big145014.jpg  name is K/DA 卡莎
下载失败http://ossweb-img.qq.com/images/lol/web201310/skin/big145015.jpg  name is K/DA 卡莎 至臻
错误原因是因为英雄名字编码问题,我只发现问题没解决,请问你找到解决办法了吗
Right_Hai 发表于 2018-11-11 16:52
Right_Hai 发表于 2018-11-11 16:07
下载失败http://ossweb-img.qq.com/images/lol/web201310/skin/big28006.jpg  name is K/DA 伊芙琳
下载失 ...

找到解决办法了,imgName = imgName.replace("/", '').decode("utf-8") 加一个decode转码,再替换‘/’对见文件夹的错误
reol_233 发表于 2018-11-12 12:01
感谢楼主分享
jsjjcjx 发表于 2018-11-15 08:42
感谢分享!!
lilihuakai 发表于 2019-1-24 14:06
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 17:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表