Python3网络爬虫(十三):王者荣耀那些事!(Fiddler之手机APP爬取)

  • 时间:
  • 浏览:12
  • 来源:uu快3IOS下载_uu快3app下载_和值

    先使用Fiddler抓包看一下,在手机APP《英雄联盟盒子》中的菜单中点击英雄,电脑Fiddler就会抓包如下:



点击放大图片

运行平台: Windows 

Python版本: Python3.x 

IDE: Sublime text3

    在电脑浏览器中输入地址:http://localhost:8888/,点击FiddlerRoot certificate,下载安全证书:

    我事先的爬虫博客,爬的都有网页的信息,那此下载小说啊,下载动漫啊,下载帅哥图、妹子图啊。玩那此东西的事先,你想过爬取手机APP上边的东西吗?

    从代码运行结果中可不非要看后,百里玄策的英雄ID为104,他的图片存放地址为http://pic.wankacn.com/2017-08-04_59844776a6adf.png

    先来个简单的例子热热身,我要 将《英雄联盟盒子》中的英雄图片下载下来,该何如操作?



点击放大图片

    毫无问题报告 ,王者荣耀从全民热度等诸多表现上看,是非常成功的游戏。可谓男女老少通吃,本文不讨论到底是女大学生坑,还是小学生坑,从前高难度的问题报告 。咱玩点简单的,我要 先看一款王者荣耀神器-王者荣耀盒子。《王者荣耀盒子》是专门为《王者荣耀》玩家量身打造的一款攻略应用,可谓上分必备神器,这里有职业选手教你英雄出装、铭文搭配和各种对线团战技巧,一起去它也整合最全的游戏咨询以及游戏实时动态。先看看它长那此样:

    打开Fiddler软件,打开工具的设置。(Fiddler软件菜单栏:Tools->Options)

    从前大伙儿 就轻松得到了各个装备的信息:

    在手机上,点击连接的WIFI进行网络修改,换成代理。进行手动设置,主机名即为上图中找到的IP地址,端口号即为Fiddler设置中的端口号8888:



点击放大图片

    系统守护进程员的鄙视链,您听说过吗?话说:女孩子漂亮的系统守护进程员,鄙视女孩子不漂亮的系统守护进程员;有女孩子的系统守护进程员,鄙视没办法 女孩子的系统守护进程员;没办法 女孩子有女大伙儿 的系统守护进程员,鄙视单身狗;在单身狗之间,才有语言、编辑器和操作系统的互相鄙视。不知何如么会会,看后这句话的事先,我的内心阵阵绞痛。现在看看,这游戏也是没办法 。玩星际的,鄙视玩dota的;玩dota的,鄙视玩lol的;玩lol的,鄙视玩王者荣耀的。虽说王者荣耀位于游戏鄙视链的低端,或多或少不得不说,它实在有我本人独到的魅力,正事先它降低了玩家的门槛,才有了如今的全民王者的热潮。你永远不知道我本人匹配的队友和对手是老人,还是小孩。事先换种说法,是人,还是动物?

    利用可不非要设置代理的这俩 特点,大伙儿 就可不非要对手机APP进行抓包了。何如么会设置?不急不急,我要 先把Fiddler安装上吧!

    我应该 使用Fiddler进行手机抓包,首不能自己确保手机和电脑的网络在俩个 内网中,可不非要使用让电脑和手机都连接同俩个 路由器。当然,也可不非要让电脑开放WIFI热点,手机连入。这里,我使用的土妙招是,让手机和电脑一起去连入俩个 路由器中。最后,让手机使用电脑的代理IP进行上网。

    运行上述代码,看下结果,7俩个 英雄的图片,分分钟搞懂:

    点击百里玄策这俩 英雄,可不非要看后,上边有他的简介,包括技能介绍,以及推荐出装等。没办法 ,大伙儿 就了利用这俩 做俩个 我本人的英雄出装查询小助手吧。



点击放大图片

    通过Fiddler抓包信息,编写代码如下:

    根据实现效果,我本人编写代码试一试何如?《王者荣耀》出装小助手,运行效果如图所示:

    在Connections中设置如下,这里使用默认8888端口,当然也可不非我应该 本人更改,或多或少注意太多与事先使用的端口冲突:

    Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它我太多 记录客户端和服务器之间的所有 HTTP请求,可不非要针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可不非要修改服务器返回的数据,功能非常强大,是web调试的利器。



点击放大图片

    运行上述代码,大伙儿 可不非要看后,打印的信息实在是英雄女娲的信息,返回的信息显示,这俩 英雄还没办法 上线。推荐出装保位于equip_choice中,可不非要看后这里没办法 给出装备的名字,非要装备的equip_id,没办法 在写推荐出装小系统守护进程事先,大伙儿 非要获取所有装备的ID。



点击放大图片

    既然是代理,也要是说:客户端的所有请求都有先经过Fiddler,或多或少转发到相应的服务器,反之,服务器端的所有响应,也都有先经过Fiddler或多或少发送到客户端,基于这俩 意味着着,Fiddler支持所有可不非要设置http代理为127.0.0.1:8888的浏览器和应用系统守护进程。使用了Fiddler事先,web客户端和服务器的请求如下所示:

    暑假回家,”小皇帝”般的生活持续了几天,头几天还挺舒服,闲久了顿时实在好没意思。眼看着10天的假期就要结速英语 了,曾信誓旦旦地说要回家学习,可拿回家的两本书至今一页未翻,强烈的负罪感老会 催促着:”你该学习了,你该学习了…”

    本节课的内容,要是爬取《王者荣耀盒子》这款APP上的信息,废话太多说,直接结速英语 了了实战!

    到这里,大伙儿 就可不非要整合代码了,首先通过获取每个英雄的ID,或多或少根据每个英雄的ID,再获得英雄的详细信息,包括推荐出装,最后通过推荐的装备ID,找到装备的信息并打印出来。

    上述步骤都设置完成事先,用手机浏览器打开百度首页,大伙儿 就可不非要顺利抓包了,截图如下:

    可不非要看后,GET请求的url地址,和返回的JSON格式的信息。没办法 编写代码如下:

    何如获取武器的信息?抓包土妙招同上,点击装备大全:

    傻瓜式安装,一键到底。Fiddler软件界面如图所示:

    手机点击百里玄策这俩 英雄,可不非要在电脑Fiddler看后如下抓包内容:

     Fiddler下载地址:Fiddler下载–>点我

    很有特点发现几时?在url的hero_id为104,在上个小实例中,大伙儿 发现,这俩 104正好是英雄的id,没办法 是都有可不非要通过设置这俩 id来访问不同的英雄界面呢?测试一下答案就出来了,大伙儿 将id改为103,也要是女娲的hero_id,编写代码如下:

    证书是非要在手机上进行安装的,从前在电脑Fiddler软件抓包的事先,手机使用电脑的网卡上网才我太多 报错。

    首先,查看电脑的IP地址,在cmd中使用命令ipconfig查看电脑IP地址。找到无线局域网WLAN的IPv4地址,记下此地址。

    知道了那此信息,大伙儿 就可不非要将那此英雄的图片进行下载了,编写代码如下:

    APP下载地址:APP下载–>点我

    或多或少找到拷贝的FiddlerRoot.cer进行安装即可。安装好事先,可不非要在信任的凭证中找到大伙儿 事先安装好的安全证书,在用户中可不非要看后证书如下:

    是都有很简单?接下来,再玩俩个 加点难度的。

    将下载好的FiddlerRoot.cer安装证书拷贝到手机中,或多或少进行证书安装(以小米5手机为例),设置(Settings)->(系统和设备中的)更多设置->系统安全->从存储设备安装:

    大伙儿 看下GET请求的URL:

    在HTTPS中设置如下: