python爬虫王者荣耀高清皮肤大图背景故事通用爬虫
wzry-spider
python通用爬虫-通用爬虫爬取静态网页,面向小白
基本上纯python语法切片索引,少用到第三方爬虫网络库
这是一只小巧方便,强大的爬虫,由python编写
主要实现了:
1.爬取高清皮肤大图
2.爬取所有英雄背景故事
所需的库有
- requests 只用来发送请求和保存二进制文件
纯python爬虫,利用python索引切片文件读写不依赖第三方网络爬虫库实现硬核爬虫
完整项目放在GitHub:https://github.com/Ymy214/meizitu-spider
具体实现思路:
- 分析网页源代码结构
- 找到合适的入口
- 穷举访问并解析
- 爬取所有英雄所有皮肤图片
代码思路/程序流程:
我分析王者荣耀网站上面的英雄资料库发现所有英雄的页面基本上都是连贯的,并且还是偏向与静态网页没有过多的JavaScript渲染,所以比较适合来一波穷举遍历爬虫,但是速度也很快。利用python语法字符串操作,列表操作,字典操作等等循环遍历英雄页面利用python列表切片索引和字符串拼接等等方法来解析HTML得到皮肤图片链接和背景故事文本,将皮肤图片二进制文件保存为png高清大图,将所有英雄背景故事合并保存为文本文档
下面是功能以及效果展示
整体展示
爬取效果展示-丰功伟绩
爬取效果展示-硕果累累
背景故事
所有图片链接写入文本文件
代码展示
王者荣耀【皮肤高清大图爬虫】源代码如下
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import requests
fo = open('./wzry-jpg/wzry-pf.txt', 'w')
path = './wzry-jpg/'
ls = []
for i in range(105,200):
url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{0}/{0}-bigskin-1.jpg".format(i)
status_code = requests.request('get', url).status_code
if status_code != 200:
continue
for j in range(1, 9):
imgurl = url[:-5] + '{}.jpg'.format(j)
response = requests.request('get', imgurl)
if response.status_code != 200:
continue
ls.append(imgurl)
##下载
print("开始下载第{}-{}个英雄皮肤图片>>>".format(i,j), end='')
with open(path+str(i)+'-'+str(j)+'.png', 'wb') as f:
f.write(response.content)
print('======下载完成======')
for i in range(501,516):
url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{0}/{0}-bigskin-1.jpg".format(i)
status_code = requests.request('get', url).status_code
if status_code != 200:
continue
for j in range(1, 9):
imgurl = url[:-5] + '{}.jpg'.format(j)
response = requests.request('get', imgurl)
if response.status_code != 200:
continue
ls.append(imgurl)
##下载
print("开始下载第{}-{}个英雄皮肤图片>>>".format(i,j), end='')
with open(path+str(i)+'-'+str(j)+'.png', 'wb') as f:
f.write(response.content)
print('======下载完成======')
##print(ls)
##连接写入txt文件
for line in ls:
fo.write(line+'\n')
fo.close()
王者荣耀【英雄背景故事爬虫】源代码如下
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import requests
fo = open('R:/python123全国等考/wzry-jpg/pop-bd.txt', 'w')
ls = []
for i in range(105,200):
url = "https://pvp.qq.com/web201605/herodetail/{}.shtml".format(i)
r = requests.request('get', url)
if r.status_code != 200:
continue
r.encoding = 'gbk'
name = r.text.split('cname')[1].split(',')[0].split("'")[1]
text = r.text.split('pop-bd')[1].split('p>')[1][:-2]
print("开始保存第{}个英雄背景故事>>>".format(i))
fo.write('【'+name+'】'+'\n'+text+'\n'+'-'*30)
for i in range(501,516):
url = "https://pvp.qq.com/web201605/herodetail/{}.shtml".format(i)
r = requests.request('get', url)
if r.status_code != 200:
continue
r.encoding = 'gbk'
name = r.text.split('cname')[1].split(',')[0].split("'")[1]
text = r.text.split('pop-bd')[1].split('p>')[1][:-2]
print("开始保存第{}个英雄背景故事>>>".format(i))
fo.write('【'+name+'】'+'\n'+text+'\n'+'-'*30)
##连接写入txt文件
fo.close()
另外本人还有面下给小白的
- 反防盗链爬取妹子图
- 王者荣耀背景故事爬虫
欢迎学习支持
有用或帮到你的话不妨点个star我将感激不尽
python爬虫王者荣耀高清皮肤大图背景故事通用爬虫的更多相关文章
- python 爬取王者荣耀高清壁纸
代码地址如下:http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...
- Python爬虫——你们要的王者荣耀高清图
曾经144区的王者 学了计算机后 头发逐渐从李白变成了达摩 秀发有何用,变秃亦变强 (emmm徒弟说李白比达摩强,变秃不一定变强) 前言 前几天开了农药的安装包,发现农药是.Net实现的游戏 虽然游戏 ...
- Python爬无止境,获得王者荣耀全部高清皮肤
作为一名热爱王者两年的程序员,早就想爬取所有英雄皮肤的高清照片,在设个幻灯片放映,真香,这次只用16行代码就能实现,对于新手拿这个作为实战练手项目既简单又容易上手,快来尝试下. 百度"王者荣 ...
- python妹子图爬虫5千张高清大图突破防盗链福利5千张福利高清大图
meizitu-spider python通用爬虫-绕过防盗链爬取妹子图 这是一只小巧方便,强大的爬虫,由python编写 所需的库有 requests BeautifulSoup os lxml 伪 ...
- 用Python爬取《王者荣耀》英雄皮肤数据并可视化分析,用图说话
大家好,我是辰哥~ 今天辰哥带大家分析一波当前热门手游<王者荣耀>英雄皮肤,比如皮肤上线时间.皮肤类型(勇者:史诗:传说等).价格. 1.获取数据 数据来源于<王者荣耀官方网站> ...
- 参考分享《Python深度学习》高清中文版pdf+高清英文版pdf+源代码
学习深度学习时,我想<Python深度学习>应该是大多数机器学习爱好者必读的书.书最大的优点是框架性,能提供一个"整体视角",在脑中建立一个完整的地图,知道哪些常用哪些 ...
- Python实现王者荣耀小助手(二)
接下来我们获取英雄和武器信息,详细代码KingGlory.py如下(代码中有详细注解): # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : ...
- Python实现王者荣耀小助手(一)
简单来说网络爬虫,是指抓取万维网信息的程序或者脚本,Python在网络爬虫有很大优势,今天我们用Python实现获取王者荣耀相关数据,做一个小助手: 前期准备,环境搭建: Python2.7 sys模 ...
- Nginx+uWSGI+Python+Django构建必应高清壁纸站
写在前面 做这个网站的初衷是因为,每次打开必应搜索搜东西的时候都会被上面的背景图片吸引,我想必应的壁纸应该是经过专业人员精选出来的,我甚至会翻看以前的历史图片,唯一美中不足的是必应的首页只能查看最多7 ...
随机推荐
- 第七篇:Python3连接MySQL
第七篇:Python3连接MySQL 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的data ...
- 51node 4个数和0
https://www.51nod.com/Challenge/Problem.html#problemId=1267 第一种方法:两个for+二分:很好理解,不用考虑重复的问题.但是这个还不够快 # ...
- HTML布局梳理
布局是一个很艺术的话题,即使是相同的HTML文档结构,但加上不同的css样式就会呈现出不同的效果.接下来就来总结一下html常用的布局. 一.布局的分类: 根据页面板块分类: 页面的板块主要是根据栏目 ...
- SpringMVC: JSON
SpringMVC:JSON讲解 什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛. 采用完全独立于编 ...
- html语一化/块/行级元素
html文件不区分大小写.//vue项目中组件名字驼峰 使用时候却全部小写 说明不区分 html语义化的意思, 就是标签名带有一定含义和一些css样式.比如h1-h6是标题 自动放大变粗,img是图片 ...
- css设置兄弟节点的样式(相邻的前一个节点)
产品需求:想在鼠标移动到“移除”的时候,“1.产品匹配测试”添加下划线和更改字体颜色 需求分析:从需求可以看出使用 :hover 就可以解决的问题,但是在实践中发现兄弟选择器(+)不好使,(+)只能是 ...
- iPhone系统固若金汤,为何还有人偷苹果手机去卖?
2016年初,美国FBI希望苹果开发软件用以解锁一部嫌疑人的iPhone.苹果虽然帮助FBI从疑犯iCloud账户中提取数据,但有些数据仍然不可获取.由于不知道手机密码,FBI也无法打开手机.虽然在最 ...
- MD5碰撞和MD5值(哈希值)相等
md5的碰撞 0e开头的md5和原值: s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974 ...
- Windows添加远程访问用户
Windows远程访问 命令:mstsc ------------------------------------------------------------------------------- ...
- 读《软件需求最佳实践》YOUGAN
这几天在看<软件需求最佳实践>作者徐锋老师的软件需求培训,三天的课程,虽然原来对需求也关注了很多,自己也做过需求分析和开发的工作,但是这次培训感觉收获还是很多.三天的培训先做个记录,后续多 ...