如何用Python爬取LOL官网全英雄皮肤
2018-06-25 05:54:39来源:博客园 阅读 ()
你没有看错,没错今天小编带你爬取LOL官网全英雄皮肤的图片
不要失望,也不要难过
接下咱们来讲讲怎么爬取LOL官网
本次案例使用到的模块
import requests
import re
import json
安装模块:
pip install requests
#re、json都是自带的不需要安装
01
获取JS源代码 获取英雄的ID
首先让咱们找到每个英雄皮肤的地址,F12打开开发者工具页面选择器,选中图片自动找寻到图片的地址
龙的传人 李青的图片地址:
http://ossweb-img.qq.com/images/lol/web201310/skin/big64003.jpg
神僧 李青图片地址:
http://ossweb-img.qq.com/images/lol/web201310/skin/big64011.jpg
不难发现其中的规律:
big64003.jpg
big64011.jpg
很明显 64是英雄的ID地址 003是皮肤顺序
找到JS源代码,你会发现英雄的ID地址并不是按照顺序排列下来的!
1 def getLOLImages(): 2 url_js = 'http://lol.qq.com/biz/hero/champion.js' 3 #获取JS源代码 str bytrs字节 4 res_js = requests.get(url_js).content 5 #转码 6 html_js = res_js.decode() 7 #正则表达 8 req = '"keys":(.*?),"data"' 9 list_js = re.findall(req,html_js) 10 # str → dict 11 dict_js = json.loads(list_js[0]) 12 print(dict_js)
很多不明白这个正则表达式怎么写,这里简单的说明一下:
前面是 “keys”:后面是,“data” 然后我们需要提取的是中间的部分,那么不管它们是啥,我们就是.?* 通配符全部匹配出来。
后面就不详细讲解了,本篇文章最后,小编会带上详细的视频讲解
02
拼接URL地址、获取下载图片的地址
pic_list = []
for key in dict_js:
#print(key)
for i in range(20):
num = str(i)
if len(num) == 1:
hreo_num = "00"+num
elif len(num) == 2:
hreo_num = "0"+num
numstr = key+hreo_num
url = "http://ossweb-img.qq.com/images/lol/web201310/skin/big"+numstr+".jpg"
print(url)
pic_list.append(url)
list_filepath = []
path = "图片保存地址"
#print(dict_js.values())
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)
03
下载图片
n = 0
for picurl in pic_list:
res = requests.get(picurl)
n+=1
if res.status_code ==200:
print("正在下载%s"%list_filepath[n])
with open(list_filepath[n],'wb') as f:
f.write(res.content)
详细视频学习地址
链接:https://pan.baidu.com/s/1TbPuMUsKvuk9bqh3hm6wNQ
密码:ewyk
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash