文章目录

  • 一.准备工作
    • 1.工具
  • 二.思路
    • 1.整体思路
    • 2.爬虫思路
  • 三.获取数据
    • 1.抓包
    • 2.分析json
  • 四.撰写爬虫
  • 五.得到数据
  • 六.总结

之前有写过抖音app用户信息爬虫,因为当时是第一次写,可能有些思路不清楚,本次爬取王者荣耀盒子,使用抓包工具抓取数据,用python解析,最后将图片保存下来。

一.准备工作

1.工具

本次爬取的时王者荣耀盒子app,我将源文件放在了这里,密码:8jjg。
(1)安卓手机模拟器,夜神模拟器,下载地址:https://www.yeshen.com/,用于模拟安卓动作。
(2)抓包工具 Fiddler ,用于抓取app数据,5.0中文版下载地址:https://wws.lanzous.com/iQs1Siqxzif
,其中Fiddler配置方法可以参考这篇博文:

https://www.jianshu.com/p/724097741bdf

在此不做赘述。
(3)python 3.7 官方下载地址:https://www.python.org/,用于编写爬虫代码。

二.思路

思路分为整体思路和爬虫思路两个部分。

1.整体思路

2.爬虫思路

三.获取数据

1.抓包

首先打开模拟器和Fiddler抓包工具,直接打开 王者荣耀盒子 切换到英雄一栏
发现Fiddler中产生了很多请求,通过分析发现所有英雄信息(包括id,名字,图片)都在这个json响应体中。
点击上面的raw查看整个请求网址地址,将它复制下来。
地址为:

http://gamehelper.gm825.com/wzry/hero/list?channel_id=90014a&app_id=h9044j&game_id=7622&game_name=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80&vcode=13.0.4.0&version_code=13040&cuid=27CAA72472821A3268EFB77990882F6B&ovr=5.1.1&device=HUAWEI_TAS-AN00&net_type=1&client_id=Vvv73yHNVErIOODKyaU8mw%3D%3D&info_ms=J%2Fb43lXS%2FZhfnmVx%2BFScew%3D%3D&info_ma=pvFtYLtm3bGAcOZu9lObNE6mnEceOtOWrDuxeljFGEg%3D&mno=0&info_la=KFyGmkUcTI6dmSrV%2BYE2bg%3D%3D&info_ci=KFyGmkUcTI6dmSrV%2BYE2bg%3D%3D&mcc=0&clientversion=13.0.4.0&bssid=pvFtYLtm3bGAcOZu9lObNE6mnEceOtOWrDuxeljFGEg%3D&os_level=22&os_id=509a4c2c79e16125&resolution=1080_1920&dpi=320&client_ip=172.17.100.15&pdunid=c2c79e16125509a4

2.分析json

这个请求url地址很长,可以通过切割,切割出简短的url,通过分析发现,全部参数都能直接切割,即地址为:

http://gamehelper.gm825.com/wzry/hero/list

使用Josnhandle查看这个json所有结构就更清楚了。
所有英雄信息都包含在这个list中,英雄的id是英雄的唯一身份标识,cover为英雄图片,这些都是我们需要的内容。
做到这一步,大家就能够发现,这和处理ajax请求的数据操作是一样的,找到了请求的url接口就很容易进行提取了,接下来撰写爬虫。

四.撰写爬虫

import requests
import json
import osclass Wzry_Hero_Spider(object):#初始化目录,请求头等def __init__(self):self.base_url='http://gamehelper.gm825.com/wzry/hero/list'#使用简短urlself.base_dir='./wzry_pics/'self.headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}#解析出文件名和图片地址,命名格式:英雄id+英雄名字def get_filename_and_link(self):try:r=requests.get(self.base_url,headers=self.headers)json_data=json.loads(r.text)data=json_data.get('list')for hero in data:hero_id=hero.get('hero_id')hero_name=hero.get('name')hero_pic_link=hero.get('cover')filename = hero_id +'_'+ hero_name+hero_pic_link[-4:]#切割字符串拼接文件名yield filename,hero_pic_linkexcept:pass#下载图片函数def download_pics(self,filename,link):try:os.mkdir(self.base_dir)except:passtry:r=requests.get(link,headers=self.headers)with open(self.base_dir+filename,'wb')as f:f.write(r.content)print(f"\033[35;46m----------------------------{filename}下载完成----------------------------\033[0m")except:passdef main():hero_spider = Wzry_Hero_Spider()for file, link in hero_spider.get_filename_and_link():hero_spider.download_pics(file, link)if __name__ == '__main__':main()

程序正常执行,直到结束。

五.得到数据

所有的图片都在这里了。

六.总结

  • 本次爬取了王者荣耀助手APP里面的所有英雄图片,主要使用了抓包工具进行抓包,获取到了url直接来分析就能自由地提取数据了。这里埋下一个彩蛋,下篇爬取王者荣耀cosplay图片。思路、代码方面有什么不足欢迎各位大佬指正、批评!

python3APP爬虫--爬取王者荣耀英雄图片(附源码)相关推荐

  1. Java爬虫 --- 爬取王者荣耀英雄图片

    Java爬虫 - 爬取王者荣耀英雄图片 import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Docu ...

  2. python3APP爬虫--爬取王者荣耀小姐姐cosplay照片(附源码)

    文章目录 一.絮叨 1.接上 2.启下 二.代码 三.查看数据 四.总结 一.絮叨 1.接上 自己挖的坑,自己填.上一篇python3APP爬虫–爬取王者荣耀英雄图片(附源码)爬取了王者荣耀英雄图片, ...

  3. Python爬虫爬取王者荣耀英雄人物高清图片

    Python爬虫爬取王者荣耀英雄人物高清图片 实现效果: 网页分析 从第一个网页中,获取每个英雄头像点击后进入的新网页地址,即a标签的 href 属性值: 划线部分的网址是需要拼接的 在每个英雄的具体 ...

  4. 爬虫爬取王者荣耀 英雄故事 和技能

    初识爬虫 爬取王者荣耀英雄故事和技能 爬取王者荣耀英雄故事和技能 源码奉上 import requests import re import os from lxml import etree if ...

  5. 爬虫爬取王者荣耀英雄

    爬虫爬取王者荣耀英雄 爬取英雄所在标签 得到英雄详情页与图片地址 爬取英雄所在标签 import requests import bs4 from bs4 import BeautifulSoup # ...

  6. python爬虫(爬取王者荣耀英雄图片)

    爬取王者荣耀全英雄头像和全英雄皮肤图片 英雄信息分析 在页面加载过程中,我们按F12进入开发者工具,由于页面需要加载英雄信息,我们可以获取全部英雄的信息,我们看到Network可以看到加载的东西 其中 ...

  7. python爬虫——爬取王者荣耀英雄出装建议(一)

    爬取装备列表 #爬取王者荣耀装备,并写入MySQL数据库import requests import re import pymysqldb=pymysql.connect('localhost',' ...

  8. python爬取王者_Python爬取王者荣耀英雄图片及装备!你玩吗?

    在玩王者荣耀的时候一直想把装备合英雄的图片保存下来,但是官网的单个图片保存太慢一气之下写了个爬虫. 1.爬取装备 import requests from bs4 import BeautifulSo ...

  9. Python爬取王者荣耀英雄图片及装备

    在玩王者荣耀的时候一直想把装备合英雄的图片保存下来,但是官网的单个图片保存太慢一气之下写了个爬虫. 1.爬取装备 import requests from bs4 import BeautifulSo ...

最新文章

  1. Ubuntu更新时遇到/boot空间不足
  2. [C] 跨平台使用Intrinsic函数范例3——使用MMX、SSE2指令集 处理 32位整数数组求和...
  3. Java黑皮书课后题第6章:*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数。编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数
  4. 使用GZIP和压缩数据
  5. 中科大在50年代的教学理念
  6. 在Makefile中创建文件夹指令
  7. 比特币矿商比特微正筹备美股上市
  8. DefaultKeyedVector和KeyedVector用法
  9. CSS类,ID,标签和伪类详细说明
  10. Window+Anaconda3+TensorFlow少挖坑安装
  11. 索纳塔进入wince系统_23项高级安全驾驶辅助系统环绕 第十代索纳塔新手女司机的福音...
  12. 钽电容技术参数及封装
  13. 移植linux4.x s3c6410,7.4.4 S3C6410 Linux内核的移植内容(1)
  14. hibernatexml方式和注解方式实现单实体映射和继承关系映射,eclipse实现
  15. 基于认证服务器的认证协议演化
  16. 图解SQL面试题:经典30题,数据分析人求职必考,强烈推荐收藏
  17. 新一配:iPod及其配置介绍【转载】
  18. jenkins构建失败后将信息发送到企业微信
  19. 访问使用https协议的网址时,浏览器地址栏没有显示“安全锁”的标志的问题
  20. 红旗linux 安装教程,红旗linux安装教程,红旗linux9

热门文章

  1. git 查看某文件状态
  2. [ECSHOP] 终于解决ECSHOP的购物车自动清空问题,改善会员体验
  3. 关于腾讯系产品连不上网的一个建议
  4. 1297 树中节点的祖先
  5. 怎样区分硬解机和软解机?
  6. html背景色坐标,网页背景颜色与背景设置
  7. python中列表下标_Python中如何在列表中找到某个元素的下标
  8. 史上最节省施工费用的防水材料,
  9. 2022年寒假训练赛(2020级)题解
  10. 在计算机上打印机,如何在Windows计算机上安装本地打印机 | MOS86