前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python3网络爬虫实战-6、APP爬

Python3网络爬虫实战-6、APP爬

作者头像
py3study
发布于 2020-01-03 04:13:02
发布于 2020-01-03 04:13:02
7280
举报
文章被收录于专栏:python3python3

除了 Web 网页,爬虫也可以对 APP 的数据进行抓取,APP 中的页面要加载出来,首先需要获取数据,那么这些数据一般是通过请求服务器的接口来获取的,由于 APP 端没有像浏览器一样的开发者工具直接比较直观地看到后台的请求,所以对 APP 来说,它的数据抓取主要用到一些抓包技术。

本书介绍的抓包工具有 Charles、MitmProxy、MitmDump,APP 一些简单的接口我们通过 Charles 或 MitmProxy 分析找出规律就可以直接用程序模拟来抓取了,但是如果遇到更复杂的接口我们就需要利用 MitmDump 对接Python来对抓取到的请求和响应进行实时处理和保存,另外既然要做规模采集就需要自动化 APP 的操作而不是人工去采集,所以这里还需要一个工具叫做 Appium,它可以像 Selenium 一样对 APP 进行自动化控制,如自动化模拟APP的点击、下拉等操作。

本节我们来了解一下 Charles、MitmProxy、MitmDump、Appium 的安装方法。

1.6.1 Charles的安装

Charles 是一个网络抓包工具,在做 APP 抓包的时候会用到,相比 Fiddler 来说,Charles 的功能更为强大,而且跨平台支持更好,所以在这里我们选用 Charles 来作为主要的移动端抓包工具,用于分析移动 APP 的数据包,辅助完成 APP 数据抓取工作。

1. 相关链接
2.下载Charles

Charles 的官网是:https://www.charlesproxy.com,我们可以在官网下载最新稳定版本,链接为:https://www.charlesproxy.com/...,它支持 WindowsLinux、Mac 三大平台。

3. 证书配置

现在很多页面都在向 HTTPS 方向发展,HTTPS 通信协议应用越来越广泛,如果一个 APP 通信应用了 HTTPS 协议,那它通信的数据都会是被加密的,常规的截包方法是无法识别请求内部的数据的。Python学习q-u-n 七八四,七五八,二一四 工具,各类实战操作分享 安装完成之后如果我们想要做 HTTPS 抓包的话还需要配置一下相关 SSL 证书,如果不配置的话无法抓取 HTTPS 请求。

点击 Help->SSL Proxying->Install Charles Root Certificate,即可进入证书的安装页面。 接下来找到 Charles 的证书双击,将信任设置为始终信任即可,如图 1-48 所示:

图 1-48 证书配置 这样就成功安装了证书。

iOS

如果你的手机是 iOS 系统,可以按照下面的操作进行证书配置。 首先查看一下电脑的 Charles 代理是是否开启的,点击 Proxy->Proxy Settings 即可打开当前代理设置页面,确保当前的 HTTP 代理是开启的,如图 1-49 所示:

图 1-49 代理设置 例如这里的代理端口为 8888,也可以自行修改。 接下来将手机和电脑连在同一个局域网下,例如当前电脑的 IP 为 192.168.1.76,那么首先设置手机的代理为 192.168.1.76:8888,设置如图 1-50 所示:

图 1-50 代理设置 设置完毕之后电脑上就会出现一个提示窗口,询问是否信任此设备,如图 1-51 所示:

图 1-51 提示窗口 点击 Allow 即可,这样手机就和 PC 连在了同一个局域网内了,而且设置了 Charles 的代理,这样 Charles 即可抓取到流经 APP 的数据包了。 接下来我们再安装 Charles 的 HTTPS 证书。 在电脑上打开 Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,如图 1-52 所示:

图 1-52 证书安装页面入口 即可看到如下提示,如图 1-53 所示:

它提示我们在手机上设置好 Charles 的代理,我们刚才已经设置好了,然后在手机的浏览器中打开 chls.pro/ssl 下载证书,我们在手机上打开这个链接。 打开之后便会弹出证书的安装页面,如图 1-54 所示:

图 1-54 证书安装页面 我们点击安装,然后输入密码即可完成安装,如图 1-55 所示:

图 1-55 安装成功页面 如果你的 iOS 版本是 10.3 以下的话,此处信任 CA 证书的流程就已经完成了。Python学习q-u-n七八四,七五八,二一四教程视频,工具,各类实战操作分享 如果你的 iOS 版本是 10.3 及以上,还需要在设置->通用->关于本机->证书信任设置将证书添加完全信任,如图 1-56 所示: 在这里将 Charles 的证书的完全信任开关打开即可,如图 1-56 所示:

图 1-56 证书信任设置 这样 iOS 上配置信任 CA 证书的流程就结束了。

Android

如果你的手机是 Android 系统,可以按照下面的操作进行证书配置。 Android 同样需要设置代理为 Charles 的代理,如图 1-57 所示:

图 1-57 代理设置 设置完毕之后电脑上就会出现一个提示窗口,询问是否信任此设备,如图 1-58 所示:

图 1-58 提示窗口 点击 Allow 即可。 接下来像 iOS 设备一样,在手机浏览器上打开 chls.pro/ssl,这时会出现一个提示框,Python学习q-u-n 七八四,七五八,二一四 工具,各类实战操作分享。如图 1-59 所示: evernotecid://D603D29C-DFBA-4C04-85E9-CCA3C33763F6/appyinxiangcom/23852268/ENResource/p75

图 1-59 证书安装页面 我们为证书添加一个名称,然后点击确定即可完成证书的安装。

4. 结语

本文介绍了 Charles 的安装及证书配置过程,后文我们会介绍 Charles 的基本使用方法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[601]app抓包Charles安装之爬取微信小程序
Charles,一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
周小董
2022/04/13
3K0
[601]app抓包Charles安装之爬取微信小程序
Python3网络爬虫实战-7、APP爬
MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。 同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProxy 的命令行接口,利用它我们可以对接 Python 脚本,用 Python 实现监听后的处理。另一个是 MitmWeb,它是一个 Web 程序,通过它我们可以清楚地观察到 MitmProxy 捕获的请求。 本节我们来了解一下 MitmProxy、MitmDump、MitmWeb 的安装方式。
py3study
2020/01/03
7050
Python3网络爬虫实战-7、APP爬
Python3网络爬虫实战-8、APP爬
MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。 同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProxy 的命令行接口,利用它我们可以对接 Python 脚本,用 Python 实现监听后的处理。另一个是 MitmWeb,它是一个 Web 程序,通过它我们可以清楚地观察到 MitmProxy 捕获的请求。 本节我们来了解一下 MitmProxy、MitmDump、MitmWeb 的安装方式。
py3study
2020/01/03
8720
Python3网络爬虫实战-8、APP爬
Python App的信息爬取之Charles
首先查看电脑的打开Charles代理是否开启,具体操作是:Proxy -> Proxy Settings ,打开代理设置界面,设置代理端口为:8888.
Python知识大全
2020/02/13
1.5K0
Python App的信息爬取之Charles
使用 mitmproxy 做拦截代理
mitmproxy 就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。
赵云龙龙
2020/02/24
3.6K0
面试官问我会不会APP抓包,我..
App抓包应该是每个爬虫工程师都避不开的话题,在之前我也写过关于自动参与「抽奖助手」 抽奖的文章,当时使用的抓包工具是Charles,有需要的朋友可以翻下之前的文章。
猴哥yuri
2019/04/25
1.2K0
面试官问我会不会APP抓包,我..
[602]app抓包之mitmproxy的安装和使用
mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler、Charles的功能,只不过它通过控制台的形式操作。
周小董
2022/04/13
5.1K0
[602]app抓包之mitmproxy的安装和使用
mac使用Charles抓包安卓app环境搭建
对于一个刚接触业务对业务不熟悉的开发而言,最快熟悉业务以及了解项目代码构成的途径,就是从具体的页面入手,然后打开浏览器web控制台,定位url找到相关的接口,然后开启debug之旅。然而对于一个app而言,类似的做法就是使用抓包工具定位url。废话不多说,直接实操起来。
kl博主
2023/11/18
7980
mac使用Charles抓包安卓app环境搭建
Charles使用以及问题处理
Charles是一款抓包工具,开发人员使用该工具获取请求、响应和HTTP头(包含cookie和缓存信息),开发人员根据获取到的数据,分析产生错误原因,相同类型的工具有fiddle。
大家一起学编程
2024/03/05
2.1K0
Charles使用以及问题处理
抖音app的抓取------准备工作
抓取app的话,首先需要一个手机或者在自己的电脑上安装模拟器,模拟器你需要知道各个模拟器的默认端口
andrew_a
2019/07/30
3.6K0
抖音app的抓取------准备工作
高颜值抓包工具Charles,实现Mac和IOS端抓取https请求
Hi,大家好。在进行测试的过程中,不可避免的会有程序报错,为了能更快修复掉Bug,我们作为测试人员需要给开发人员提供更准确的报错信息或者接口地址,这个时候就需要用到我们的抓包工具。
可可的测试小栈
2022/06/06
2.3K0
高颜值抓包工具Charles,实现Mac和IOS端抓取https请求
Charles 网络抓包工具详解与实战指南
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2023/11/25
3.6K0
Charles 网络抓包工具详解与实战指南
互联网人必备:推荐4款爬虫抓包神器
受疫情影响,相信大部分人仍然还是处于在家远程办公的状态,起初最简单的远程办公,就是打打电话,发发微信,我们每天都在做。后来有了一系列工具,比如企业微信、各种线上会议工具、在线文档等等,能够把同事之间配合的效率提升起来,突破物理意义上的限制,不用到办公室就能创造价值,在没法线下聚集的时候,让自己的工作不会中断。
测试开发技术
2020/02/26
2.4K0
互联网人必备:推荐4款爬虫抓包神器
Charles抓包HTTP、HTTPS
抓包分析数据在移动开发中十分重要,可以帮助我们更快的了解数据构成,提高开发效率。但是在苹果要求上线的App必须使用HTTS之后,HTTPS数据包的抓取分析较为麻烦,在此总结了在mac上使用Charles抓包的详细步骤。 首先我们下载最先版本的Charles 官网下载:https://www.charlesproxy.com/download/ 免费版下载:http://xclient.info/search/s/charles/ 一、开启网络请求记录,设置系统网络代理 安装Charles之后,我们选择P
梧雨北辰
2018/04/24
2.2K0
Charles抓包HTTP、HTTPS
手把手教你进行Python网络爬虫中的Charles+Postern抓包
在实际抓手机App包场景中,有很多种方案,经典的就是Fiddler,但是Fiddler会有一个问题,如果App设置了不走代理这个选项,那Fiddler就不行了。
Python进阶者
2022/04/12
2.3K0
手把手教你进行Python网络爬虫中的Charles+Postern抓包
实战|手把手教你如何使用抓包神器MitmProxy
玩爬虫的小伙伴都知道,抓包工具除了MitmProxy外,还有Fiddler、Charles以及浏览器netwrok等
Python研究者
2021/05/13
4.6K0
实战|手把手教你如何使用抓包神器MitmProxy
抓包神器之Charles,常用功能都在这里了
KS Knowledge Sharing 知识分享 现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享 我们在开发网站项目的时候,我们可以通过浏览器的debug模式来看request以及response的数据,那么如果我们开发移动端项目没有网页呢?如何抓取数据呢? 前几天有个做服务端的师弟跟我说他不用抓包工具,遇到问题直接debug代码,那我问他,如果线上服务的话,你怎么调?在实际项目中,没有遇到跟客户端相互扯皮的事情吗?我觉得很正
互扯程序
2018/01/31
6K0
抓包神器之Charles,常用功能都在这里了
利用charles抓包
charles是一款http抓包软件,和fiddler极为相似,所以大家就会问,为啥不用fiddler呢,因为mac没有fiddler。而且charles还是付费版本。所以我们这里从安装破解到抓包成功一步一步讲清楚。
全栈程序员站长
2022/09/06
1.2K0
利用charles抓包
网络抓包工具Charles的安装与使用
做爬虫的小伙伴,会用到一些抓包工具去分析网络包的内容,然后模拟发送网络协议来获取我们想要的信息。常用的有fiddler、wireshark、charles等,命令方式抓包的一般会用tcpdump,tcpdump也是可以集成到我们代码里实现自动解析、动态抓包的一个方式。
efonfighting
2019/09/29
9830
网络抓包工具Charles的安装与使用
APP爬虫-mitmproxy安装与简单使用
我们通常使用的抓包工具就是Fiddler和Charles这种图形化的,Charles的优点是跨平台,Windows和Mac都可以使用,Fiddler的优点是功能“极其”强大,不仅拥有抓包功能,还拥有中间人攻击的功能,但是使用成本太高了,我们做爬虫开发,使用到Fiddler的功能不过十之二三罢了。今天我们主要讲的是mitmproxy这款工具,这是一款专业的中间人攻击工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,最最重要的是支持Python进行定制化二次开发。例如:截获浏览器的请求内容,并将数据处理后存储到数据库,再将内容交给浏览器;如果出现异常时,发出邮件通知,并返回给浏览器一个空的页面。 mitmproxy有以下几个特点:
星星在线
2020/05/22
2.2K0
推荐阅读
相关推荐
[601]app抓包Charles安装之爬取微信小程序
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档