iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3网络爬虫实战-7、APP爬
  • 757
分享到

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

爬虫实战网络 2023-01-31 07:01:50 757人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

MitmProxy 是一个支持 Http 和 https 的抓包程序,类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProx

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

1. 相关链接

2. Pip安装

最简单的安装方式还是使用 Pip,直接执行如下命令即可安装:

pip3 install mitmproxy

这是最简单和通用的安装方式,执行完毕之后即可完成 MitmProxy的安装,另外还安装了MitmDump、MitmWeb 两个组件,如果不想用此种方式安装也可以选择下文列出的专门针对各个平台的安装方式或者 Docker 安装方式。

3. Mac下的安装

Mac 的安装非常简单,使用 HomeBrew 即可,命令如下:

brew install mitmproxy
Python资源分享qun 784758214 ,内有安装包,pdf学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

执行命令后即可完成 MitmProxy 的安装。

4. Docker安装

MitmProxy 也支持 Docker,其 Docker Hub 的地址为https://hub.docker.com/r/mitm...
Docker 下 MitmProxy 的安装命令为:

docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy mitmdump

这样就在 8080 端口上启动了 MitmProxy 和 MitmDump。
如果想要获取 CA 证书,可以选择挂载磁盘选项,命令如下:

docker run --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy mitmdump

这样可以在 ~/.mitmproxy 目录找到 CA 证书。
另外还可以在 8081 端口上启动 MitmWeb,命令如下:

docker run --rm -it -p 8080:8080 -p 127.0.0.1:8081:8081mitmproxy/mitmproxy mitmweb
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

更多启动方式可以参考 Docker Hub 的安装说明。

5. 证书配置

对于 MitmProxy 来说,如果想要截获 HTTPS 请求,我们就需要设置证书,MitmProxy 在安装后会提供一套 CA 证书,只要客户端信任了 MitmProxy 提供的证书,我们就可以通过 MitmProxy 获取 HTTPS 请求的具体内容,否则 MitmProxy 是无法解析 HTTPS 请求的。
首先运行一下命令产生 CA 证书,启动 MitmDump 即可:
mitmdump
这样即可启动 MitmDump,接下来我们就可以在用户目录下的 .mitmproxy 目录里面找到 CA 证书,如图 1-61 所示:

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

图 1-61 证书文件
证书一共五个,下面是对这五个证书的说明:

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

下面我们介绍一下 Mac、iOSAndroid 平台下的证书配置过程。

Mac

Mac 下双击 mitmproxy-ca-cert.pem 即可弹出钥匙串管理页面,然后找到 mitmproxy 证书,点击打开其设置选项,选择始终信任即可,如图 1-66 所示:

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

图 1-66 证书配置
这样就配置完成 Mac 下信任 CA 证书了。

ioS

将 mitmproxy-ca-cert.pem 文件发送到 iPhone 上,推荐使用邮件的方式发送,iPhone 上可以直接点击附件并识别安装,如图 1-67 所示:

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

图 1-67 证书安装页面
点击之后会跳到安装描述文件的页面,点击右上角的安装按钮即可安装,此处会有警告提示,如图 1-68 所示:

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

图 1-68 安装警告页面
继续点击右上角的安装即可,安装成功之后会有已安装的提示,如图 1-69 所示:

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

如果你的 iOS 版本是 10.3 以下的话,此处信任 CA 证书的流程就已经完成了。
如果你的 iOS 版本是 10.3 及以上,还需要在设置->通用->关于本机->证书信任设置将证书添加完全信任,如图 1-70 所示:

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

图 1-70 证书信任设置
在这里将 MitmProxy 的完全信任开关打开即可。
这样 iOS 上配置信任 CA 证书的流程就结束了。
Android
Android 手机同样需要将证书 mitmproxy-ca-cert.pem 文件发送到手机上,例如直接拷贝文件。Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
接下来点击证书便会出现一个提示窗口,如图 1-71 所示:

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

图 1-71 证书安装页面
这时输入证书的名称,然后点击确定即可完成安装。

6. 结语

本节我们了解了 MitmProxy、MitmDump、MitmWeb 的安装方式,在后文我们会用它来进行 APP 数据的抓取。

--结束END--

本文标题: Python3网络爬虫实战-7、APP爬

本文链接: https://www.lsjlt.com/news/192158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3网络爬虫实战-7、APP爬
    MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProx...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-9、APP爬
    Appium 是移动端的自动化测试工具,类似于前面所说的 Selenium,利用它我们可以驱动 Android、iOS 等设备完成自动化测试,比如模拟点击、滑动、输入等操作,其官方网站为:http://appium.io/,本节来了解一下 ...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-8、APP爬
    MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProx...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-6、APP爬
    除了 Web 网页,爬虫也可以对 APP 的数据进行抓取,APP 中的页面要加载出来,首先需要获取数据,那么这些数据一般是通过请求服务器的接口来获取的,由于 APP 端没有像浏览器一样的开发者工具直接比较直观地看到后台的请求,所以对 APP...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-11、爬虫框
    ScrapySplash 是一个 Scrapy 中支持 JavaScript 渲染的工具,本节来介绍一下它的安装方式。ScrapySplash 的安装分为两部分,一个是是 Splash 服务的安装,安装方式是通过 Docker,安装之后会...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-15、爬虫基
    在写爬虫之前,还是需要了解一些爬虫的基础知识,如 HTTP 原理、网页的基础知识、爬虫的基本原理、Cookies 基本原理等。 那么本章内容就对一些在做爬虫之前所需要的基础知识做一些简单的总结。 在本节我们会详细了解 HTTP 的基本原理...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-10、爬虫框
    我们直接用 Requests、Selenium 等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的。但是写多了会发现其内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,久...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-17、爬虫基
    爬虫,即网络爬虫,我们可以把互联网就比作一张大网,而爬虫便是在网上爬行的蜘蛛,我们可以把网的节点比做一个个网页,爬虫爬到这就相当于访问了该页面获取了其信息,节点间的连线可以比做网页与网页之间的链接关系,这样蜘蛛通过一个节点后可以顺着节点连线...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-30、PyQ
    在上一节我们介绍了 BeautifulSoup 的使用,它是一个非常强大的网页解析库,可有没有觉得它的一些方法使用有点不适应?有没有觉得它的 CSS 选择器功能没有那么强大? 如果你对 Web 有所涉及,如果你比较喜欢用 CSS 选择器,如...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-18、Ses
    在浏览网站的过程中我们经常会遇到需要登录的情况,有些页面只有登录之后我们才可以访问,而且登录之后可以连续访问很多次网站,但是有时候过一段时间就会需要重新登录。还有一些网站有时在我们打开浏览器的时候就自动登录了,而且很长的时间都不会失效,这种...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-25、req
    在前面一节我们了解了 Requests 的基本用法,如基本的 GET、POST 请求以及 Response 对象的用法,本节我们再来了解下 Requests 的一些高级用法,如文件上传,代理设置,Cookies 设置等等。 我们知道 Re...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-16、Web
    我们平时用浏览器访问网站的时候,一个个站点形形×××,页面也各不相同,但有没有想过它是为何才能呈现出这个样子的?那么本节我们就来了解一下网页的基本组成、结构、节点等内容。 网页可以分为三大部分,HTML、CSS、JavaScript,我们...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-24、req
    在前面一节我们了解了 Urllib 的基本用法,但是其中确实有不方便的地方。比如处理网页验证、处理 Cookies 等等,需要写 Opener、Handler 来进行处理。为了更加方便地实现这些操作,在这里就有了更为强大的库 Request...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-27、Req
    本节我们利用 Requests 和正则表达式来抓取猫眼电影 TOP100 的相关内容,Requests 相较于 Urllib 使用更加方便,而目前我们还没有系统学习 HTML 解析库,所以可能对 HTML 的解析库不是很了解,所以本节我们选...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-5、Web库
    Web 想必我们都不陌生,我们现在日常访问的网站都是 Web 服务程序搭建而成的,Python 同样不例外也有一些这样的 Web 服务程序,比如 Flask、Django 等,我们可以拿它来开发网站,开发接口等等。 在本书中,我们主要要用到...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-23、使用U
    利用 Urllib 的 robotparser 模块我们可以实现网站 Robots 协议的分析,本节我们来简单了解一下它的用法。 Robots 协议也被称作爬虫协议、机器人协议,它的全名叫做网络爬虫排除标准(Robots Exclusio...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-13、部署相
    在将 Scrapy 代码部署到远程 Scrapyd 的时候,其第一步就是要将代码打包为 Egg 文件,其次需要将 Egg 文件上传到远程主机,这个过程如果我们用程序来实现是完全可以的,但是我们并不需要做这些工作,因为 ScrapydCli...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-19、代理基
    我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么的美好,然而一杯茶的功夫可能就会出现错误,比如 403 Forbidden,这时候打开网页一看,可能会看到“您的 IP 访问频率太高”这样的提示。出...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-28、解析库
    上一节我们实现了一个最基本的爬虫,但提取页面信息时我们使用的是正则表达式,用过之后我们会发现构造一个正则表达式还是比较的繁琐的,而且万一有一点地方写错了就可能会导致匹配失败,所以使用正则来提取页面信息多多少少还是有些不方便的。 对于网页的节...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-21、使用U
    在前面一节我们了解了 Request 的发送过程,但是在网络情况不好的情况下,出现了异常怎么办呢?这时如果我们不处理这些异常,程序很可能报错而终止运行,所以异常处理还是十分有必要的。 Urllib 的 error 模块定义了由 reques...
    99+
    2023-01-31
    爬虫 实战 网络
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作