Python3网络爬虫实战-6、APP爬取相关库的安装:Charles的安装

除了 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/...,它支持 Windows、Linux、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 的基本使用方法。

原文地址:https://blog.51cto.com/14445003/2424873

时间: 2024-08-23 22:58:42

Python3网络爬虫实战-6、APP爬取相关库的安装:Charles的安装的相关文章

Python3网络爬虫实战-9、APP爬取相关库的安装:Appium的安装

Appium 是移动端的自动化测试工具,类似于前面所说的 Selenium,利用它我们可以驱动 Android.iOS 等设备完成自动化测试,比如模拟点击.滑动.输入等操作,其官方网站为:http://appium.io/,本节来了解一下 Appium 的安装方式. 1. 相关链接 GitHub:https://github.com/appium/appium 官方网站:http://appium.io 官方文档:http://appium.io/introduction... 下载链接:htt

Python3网络爬虫实战-7、APP爬取相关库的安装:MitmProxy的安装

MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler.Charles 的功能,只不过它是一个控制台的形式操作.同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProxy 的命令行接口,利用它我们可以对接 Python 脚本,用 Python 实现监听后的处理.另一个是 MitmWeb,它是一个 Web 程序,通过它我们可以清楚地观察到 MitmProxy 捕获的请求.本节我们来了解一下 MitmProxy.MitmDump

Python3网络爬虫实战-8、APP爬取相关库的安装:MitmProxy的安装

MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler.Charles 的功能,只不过它是一个控制台的形式操作.同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProxy 的命令行接口,利用它我们可以对接 Python 脚本,用 Python 实现监听后的处理.另一个是 MitmWeb,它是一个 Web 程序,通过它我们可以清楚地观察到 MitmProxy 捕获的请求.本节我们来了解一下 MitmProxy.MitmDump

Python爬虫实战二之爬取百度贴吧帖子

大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不好使,八成是正则表达式那儿匹配不到了,请更改一下正则,当然最主要的还是帮助大家理解思路. 2016/12/2 本篇目标 1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件 1.URL格式的确定 首先,我们先观察一下百度贴吧的任意一个帖子. 比如:ht

转 Python爬虫实战二之爬取百度贴吧帖子

静觅 » Python爬虫实战二之爬取百度贴吧帖子 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件

《Python3网络爬虫实战案例(崔庆才著)》 中文版PDF下载,附源代码+视频教程

<Python3网络爬虫实战案例(崔庆才著)>中文版PDF下载,附源代码+视频教程,带目录资料下载:https://pan.baidu.com/s/1OzxyHQMLOzWFMzjdQ8kEqQ 原文地址:http://blog.51cto.com/7369682/2330247

Python3网络爬虫实战-10、爬虫框架的安装:PySpider、Scrapy

我们直接用 Requests.Selenium 等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的.但是写多了会发现其内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,久而久之,爬虫框架就诞生了. 利用框架我们可以不用再去关心某些功能的具体实现,只需要去关心爬取逻辑即可.有了它们,可以大大简化代码量,而且架构也会变得清晰,爬取效率也会高许多.所以如果对爬虫有一定基础,上手框架是一种好的选择. 本书主要介绍的爬虫框架有PySpi

python网络爬虫第三弹(&lt;爬取get请求的页面数据&gt;)

一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是通过代码模拟浏览器发送请求,其常被用到的子模块在 python3中的为urllib.request 和 urllib.parse,在python2中的是 urllib 和 urllib2 二.由易到难首页面所有的数据值 1.爬取百度首页所有的数据值 import urllib.request import urllib.parse url = 'http://www.baidu.com' # 通过 URLopen

Python3网络爬虫实战-25、requests:高级用法

在前面一节我们了解了 Requests 的基本用法,如基本的 GET.POST 请求以及 Response 对象的用法,本节我们再来了解下 Requests 的一些高级用法,如文件上传,代理设置,Cookies 设置等等. 1. 文件上传 我们知道 Reqeuests 可以模拟提交一些数据,假如有的网站需要我们上传文件,我们同样可以利用它来上传,实现非常简单,实例如下: import requests files = {'file': open('favicon.ico', 'rb')} r =