小编给大家分享一下30行python代码实现爬取英雄联盟全英雄皮肤的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
请求模块介绍
首先是请求模块,这是一个模拟浏览器请求的模块,我们可以通过它来获取网页上的信息,比如百度:
import 请求=url & # 39; http://www.baidu.com& # 39; response =, requests.get (url)打印(response.text)
运行结果:
import 请求=url & # 39; http://www.baidu.com& # 39; response =, requests.get (url)打印(response.content.decode ())
运行结果:
json模块
json模块可以对json字符串和python数据类型进行相互转换,比如将json转换为python对象:
import json=json_str & # 39; {“name":“zhangsan",“age":“20“} & # 39; rs =, json.loads (json_str)打印(类型(rs))打印(rs)
使用<代码> 代码加载函数即可将json字符串转为字典类型,运行结果:
& lt; class & # 39; dict # 39;比; {& # 39;名字# 39;:,& # 39;zhangsan& # 39;,, & # 39;年龄# 39;:,& # 39;20 & # 39;}
而若是想将Python数据转为json字符串,也非常简单:
import json str_dict =,{& # 39;名字# 39;:,& # 39;zhangsan& # 39;,, & # 39;年龄# 39;:,& # 39;20 & # 39;}json_str =, json.dumps (str_dict)打印(类型(json_str))打印(json_str)
通过<代码>转储代码>函数即可将Python数据转为json字符串,运行结果:
& lt; class & # 39; str # 39;比; {“name":,“zhangsan",,“age":,“20“}
准备工作
前面介绍了两个模块,通过这两个模块我们就能够完成这个程序了。
在正式开始编写代码之前,我们首先需要分析数据来源,来到官网:https://lol.qq.com/main.shtml,往下拉找到英雄列表:
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
https://game.gtimg.cn/images/lol/act/img/skin/big1003.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1004.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1005.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1006.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1007.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1008.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1009.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1010.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1011.jpg
https://game.gtimg.cn/images/lol/act/img/skin/big1012.jpg
从这些url中能发现什么规律呢?其实规律非常明显,url前面的内容都是一样的,唯一不同的是<代码> big1000.jpg> 代码,而每个皮肤图片就是在该url的基础上加1 .
那么问题来了,它是如何区分这张图片所属的英雄的呢?我们观察浏览器上方的地址: