30行python代码实现爬取英雄联盟全英雄皮肤的方法

  介绍

小编给大家分享一下30行python代码实现爬取英雄联盟全英雄皮肤的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

请求模块介绍

首先是请求模块,这是一个模拟浏览器请求的模块,我们可以通过它来获取网页上的信息,比如百度:

import 请求=url  & # 39; http://www.baidu.com& # 39; response =, requests.get (url)打印(response.text)

运行结果:
 30行python代码实现爬取英雄联盟全英雄皮肤的方法”> <br/>通过<代码>得到</代码>函数就能够向指定参数的网址发送请求,得到的响应对象中封装了很多响应的信息,其中的<代码> </代码>文本即为响应内容,注意到获取的内容里有乱码,这是编解码不一致造成的,只需先获取二进制数据,然后重新解码即可:</p> <pre类= import 请求=url  & # 39; http://www.baidu.com& # 39; response =, requests.get (url)打印(response.content.decode ())

运行结果:
 30行python代码实现爬取英雄联盟全英雄皮肤的方法

json模块

json模块可以对json字符串和python数据类型进行相互转换,比如将json转换为python对象:

import  json=json_str  & # 39; {“name":“zhangsan",“age":“20“} & # 39; rs =, json.loads (json_str)打印(类型(rs))打印(rs)

使用<代码> & 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,往下拉找到英雄列表:
 30行python代码实现爬取英雄联盟全英雄皮肤的方法”> <br/>我们随意点击一个英雄进去查看:<br/> <img src= 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>

那么问题来了,它是如何区分这张图片所属的英雄的呢?我们观察浏览器上方的地址:

30行python代码实现爬取英雄联盟全英雄皮肤的方法