30行Python代码爬取LOL全英雄皮肤
受到~wangweijun的20行Python代码爬取王者荣耀全英雄皮肤的启发
我去试试同样的方法爬取LOL皮肤,果然方法大同小异,毕竟都是腾讯系的
首先进入LOL官网
进入资料库
获取全英雄的详细列表,包括ID、绰号、英文名、中文名等等
url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'
herolist = requests.get(url)
以火女皮肤地址为例
https://game.gtimg.cn/images/lol/act/img/skin/big1000.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1001.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1002.jpg
找到规律big后面是英雄ID,000、001、002是皮肤编码,只要编辑好这些图片地址,就可以了
接下来完整的代码
现在要存放的地方建一个名为“lol”的文件夹即可
import os
import requests
from urllib import error
import socketurl = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'
herolist = requests.get(url) # 获取英雄列表json文件herolist_json = herolist.json() # 转化为json格式
hero_name = list(map(lambda x: x['name'], herolist.json()['hero'])) # 提取英雄的绰号
hero_title = list(map(lambda x: x['title'], herolist.json()['hero'])) # 提取英雄的名字
hero_number = list(map(lambda x: x['heroId'], herolist.json()['hero'])) # 提取英雄的编号headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'}# 下载图片
def downloadPic():i = 0for j in hero_number:# 创建文件夹os.mkdir("E:\\Picture\\lol\\" + hero_name[i]+"-"+hero_title[i])# 进入创建好的文件夹os.chdir("E:\\Picture\\lol\\" + hero_name[i]+"-"+hero_title[i])i += 1for k in range(20):# 拼接url,如果K小于10中间加两个“0”,否则一个“0”if k < 10:onehero_link = 'https://game.gtimg.cn/images/lol/act/img/skin/big' + str(j) + '00' + str(k) + '.jpg'else:onehero_link = 'https://game.gtimg.cn/images/lol/act/img/skin/big' + str(j) + '0' + str(k) + '.jpg'try:im = requests.get(onehero_link,headers=headers)except error.URLError as e:if isinstance(e.reason,socket.timeout):print('超时,执行下一个请求')# 请求urlif im.status_code == 200:open(str(k) + '.jpg', 'wb').write(im.content) # 写入文件downloadPic()
成果如下
下面这种方法可以爬到皮肤名字
import urllib.request
import jsonpath
import json
import os
import time
from urllib import error
import socket,requestsprint("努力成为爬虫大神")
timestart=time.time()
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'}if not os.path.exists("json"):os.mkdir("json")
for s in range(555, 600):try:hero_urls = 'https://game.gtimg.cn/images/lol/act/img/js/hero/'+str(s)+'.js'j_name = 'json/zms'+str(s)+'.json'urllib.request.urlretrieve(url=hero_urls, filename=j_name)obj = json.load(open(j_name, 'r', encoding='utf-8'))hero_name = jsonpath.jsonpath(obj, '$.hero..name')hero_title = jsonpath.jsonpath(obj, '$.hero..title')skins_name = jsonpath.jsonpath(obj, '$.skins..name')skins_mainImg = jsonpath.jsonpath(obj, '$.skins..mainImg')print("开始爬{}".format(hero_name[0]))docname = hero_title[0] + " " + hero_name[0]if not os.path.exists(docname):os.mkdir(docname)for i in range(len(skins_name)):if skins_mainImg[i] != "":try:im = requests.get(skins_mainImg[i],headers=headers)open(docname + "/" + skins_name[i] + ".jpg", 'wb').write(im.content) # 写入文件except error.URLError as e:if isinstance(e.reason,socket.timeout):print('超时,执行下一个请求')except:continue
timeend=time.time()
print("一共用时:{}秒".format(timeend-timestart))
30行Python代码爬取LOL全英雄皮肤相关推荐
- 不到30行python代码爬取金庸小说
爬取金庸小说 代码如下: import requests from bs4 import BeautifulSoupdef get_html(url): html=requests.get(url)h ...
- 20行Python代码爬取王者荣耀全英雄皮肤改进版
0 写在前面 看了大神的这篇CSDN:20行Python代码爬取王者荣耀全英雄皮肤访问量那么高,忍不住想要蹭一下热点,但是蹭归蹭,总得有点货才行,于是我品我细品,发现其代码总体有三点我觉得值得改进的地 ...
- [转载]20行Python代码爬取王者荣耀全英雄皮肤
20行Python代码爬取王者荣耀全英雄皮肤,这是高手.原文链接: https://blog.csdn.net/qq_42453117/article/details/103190981 除了语言学习 ...
- python爬虫代码1000行-几行Python代码爬取3000+上市公司的信息
几行Python代码爬取3000+上市公司的信息 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 几行Python代码爬取3000+上市公司的信息.txt ] (友情提示:右键 ...
- python 爬取财经新闻股票_70行python代码爬取新浪财经中股票历史成交明细
70行python代码爬取新浪财经中股票历史成交明细 发布时间:2018-07-28 01:55, 浏览次数:635 , 标签: python 最近在研究股票量化,想从每笔成交的明细着手,但历史数据的 ...
- 20行 Python 代码爬取王者荣耀全英雄皮肤 | 原力计划
作者 | wangweijun 责编 | Elle 出品 | CSDN 博客 引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王 ...
- python爬取和平精英皮肤_20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工 ...
- 如何运用python爬游戏皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...
引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...
- python爬虫脚本 初级入门爬虫英雄联盟所有皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...
引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...
- python爬取图解_20行PYTHON代码爬取微博高清大图,小白练手绝佳案例
0. 前戏说明 环境说明 python3版本 所需库:Beautifulsoup .re .requests 知识点:正则表达式.基本网页请求与解析.文件写入 适用人群:小白 最终目标:20行代码爬取 ...
最新文章
- Linux上部署、安装nodejs
- 获取局域网打印机列表
- 雅虎书面问题——最大的问题汇总
- 公司网络推广教你网站初期SEO优化该如何做?
- 在 docker中 运行 mono /jexus server 并部署asp.net mvc站点
- poi为什么所有celltype都是string_不是所有向日葵都向阳,你知道为什么吗
- 关于H5跳转到小程序和android的方法
- 编程理论 —— 计算图框架
- 《炬丰科技-半导体工艺》晶片键合技术和薄膜传输技术
- 华硕主板无盘启动bios设置_华硕主板怎么进入bios?华硕主板进入bios设置u盘启动方法...
- 解决STM8S103K3T6打开BEEP功能遇到的无法操作BEEP_CSR的问题
- 小技巧:不显示打印对话框直接打印网页到打印机
- 2.x 版本的ZIP4j压缩和解压使用
- 为什么价值增殖过程不外是超过一定点而延长了的价值形成过程
- 银行业务用语大全(中英文)
- execve 执行遇到的问题-已解决
- IntelliJ:idea取消启动时的默认工作空间,打开欢迎页面
- 【动态规划】牛客NC20035打鼹鼠
- 什么才是真正的双线机房?如何辨别真假双线机房?
- 控制流分析之构建支配树