爬虫进阶:电脑软件&手机APP常用的爬虫抓包工具

在学习爬虫进阶路上少不了用到一些抓包工具,今天就给大家隆重推荐6款爬虫抓包神器。

聊一聊:爬虫抓包原理

爬虫的基本原理就是模拟客户端(可以是浏览器,也有可能是APP)向远程服务器发送 HTTP 请求,我们需要知道目标服务器的 HOST、URI、请求方法、请求参数、请求头、请求体。Web 网站通过 Chrome 浏览器可以找到这些信息。但是对于 APP 爬虫,就显得有些束手无策。这时候必须借用一些抓包工具来辅助我们分析APP背后的秘密。而抓包本质是引入多了一层中间人代理,如下图所示。

在这里插入图片描述

补充一个知识点,对于新手来说,需要区分抓包和爬虫是两个不同的概念:抓包是为了查看分析网络请求,是为了了解对方的过程。爬虫则是模拟网络请求,当了解对方后模拟请求获取数据的工具,两者相辅相成,先抓包分析,再程序模拟,就是爬虫的开发过程,以此来达到你爬虫的目的。

抓包神器一:Fiddler

Fiddler 是 Windows 平台最好用的可视化抓包工具,也是大家最熟知的 HTTP 代理工具,功能非常强大,除了可以清晰的了解每个请求与响应之外,还可以进行断点设置,修改请求数据、拦截响应内容。

官网下载即可:

https://www.telerik.com/fiddler

在这里插入图片描述

此外,还可以自定义规则,通过修改脚本,加入自己的特殊处理,不过因为它是 C# 编写的,如果你要写复杂的脚本,需要懂C#。

过滤器功能使得你可以通过正则表达式规则将你关心的请求显示出来,如果你只需要抓特定网站的数据,这个功能就显得非常有用,可以去除很多干扰信息。

在这里插入图片描述

Fiddler 的左下角有个命令行工具叫做 QuickExec,允许你直接输入命令,如上图的命令行指示。

常见的命令有:

  • help:打开官方的使用页面介绍,所有的命令都会列出来
  • cls:清屏
  • Select:选择会话的命令
  • ?.png:用来选择 png 后缀的图片
  • bpu:截获 request
  • @ Host 高亮所有该主机的会话,如 @http://www.cnblogs.com/
  • =:等于指定请求方法 或者 状态码高亮显示,例如输入:=502

抓包神器二:Charles

Charles 是一款支持跨平台的抓包工具,并且也是 macOS 平台下最好用的抓包分析工具之一,同样提供GUI界面,界面简洁,基本功能包括HTTP、HTTPS 请求抓包,支持请求参数的修改,最新的 Charles 4 还支持 HTTP/2。当然,也同时支持Windows 和 Linux, 不过这款工具是要收费的,免费试用 30 天,试用期过后功能受限。

Charles当前最新版本为4.5.6,官网地址如下:

https://www.charlesproxy.com

在这里插入图片描述

Charles 在线破解工具:

https://www.zzzmode.com/mytools/charles/

Charles也常用于一些简单的弱网模拟工具,打开Proxy->Throttle Settings,界面如下:

图片

PS:除此之外,模拟弱网的工具常见的还有:Fiddler、FaceBook工具ATC弱网模拟。

抓包神器三:AnyProxy

AnyProxy 是 阿里巴巴开源的 HTTP 抓包工具,基于 NodeJS 实现,优点是支持二次开发,可自定义请求处理逻辑,如果你会写JS的话,同时需要做一些自定义的处理,那么AnyProxy 是非常适合的。支持 HTTPS,提供了GUI界面。
GitHub地址:

https://github.com/alibaba/anyproxy

https://mmbiz.qpic.cn/mmbiz_gif/rO1ibUkmNGMn3LSicAxfYjLora3TIibSxvJe3U9wvLdfAeXFOgM2zLpicE2xv4ibazwniaS6uE0MQBU2jJvH66Af79mg/640?tp=webp&wxfrom=5&wx_lazy=1

常用特性:

支持https明文代理

支持低网速模拟

支持二次开发,可以用javascript控制代理的全部流程,搭建前端个性化调试环境

提供web版界面,观测请求情况

anyproxy详细使用介绍:

https://www.npmjs.com/package/anyproxy/v/3.10.2

抓包神器四:mitmproxy

它不仅是跨平台的,而且提供的是命令行交互模式,很有极(zhuang)客(bi)感,而且是由Python语言实现的,对于Pythoner来说,无疑是一大利好福利。mitmproxy主要包含了 3 款工具:

mitmproxy: 带交互的终端界面

mitmdump: mitmproxy 的命令行版本,类似于 tcpdump

libmproxy: 用于 mitmproxy/mitmdump 的库

GitHub 地址:https://github.com/mitmproxy/mitmproxy

在这里插入图片描述

mitmproxy官网:

https://mitmproxy.org/

mitmproxy文档介绍:

https://docs.mitmproxy.org/stable/

抓包神器五:Appium

appium是一个自动化测试开源工具,支持iOS平台和Android平台上的原生应用,web应用和混合应用。它是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性
在这里插入图片描述

appium类库封装了标准Selenium客户端类库,实现了Mobile JSON Wire Protocol、W3C、WebDriver spec,同时也定义了官方协议的扩展,为appium用户提供了方便的接口来执行各种设备动作,支持多语言,多平台,Linux必须是桌面系统,使用的Client/Server的设计模式, 扩展了WebDriver协议,使得原操作仍然可用

Appium工作原理:

在这里插入图片描述

Appium下载地址:

https://github.com/appium/appium-desktop/releases/tag/v1.19.1

抓包神器六:Packet Capture

Packet Capture安装在手机的app,功能不多,作为辅助,它是一款免root的app,运行在安卓平台上,用于捕获http/https网络流量嗅探的应用程序。可以捕获网络数据包,并记录它们,使用中间人技术对SSL解密,无须root权限,这个软件使用了Android提供的VpnService api,实现了中间人攻击。

Packet Capture下载地址:

https://apk.co/d/packet-capture-172
https://www.coolapk.com/apk/app.greyshirts.sslcapture

在这里插入图片描述
在这里插入图片描述

解锁网络数据的宝藏:Python爬虫工具与教程集合 一、探索网络信息的无限宝藏 在互联网的海洋中,蕴藏着海量的有价值信息。如何合法、高效地获取这些信息?Python爬虫工具与教程为您揭开这一神秘面纱。通过这些资源,您可以轻松地爬取网站信息,提取所需内容,为各种应用场景提供强大的数据支持。 二、资源亮点 工具齐全:提供一系列功能强大的Python爬虫工具,满足您不同场景下的需求。 教程详尽:配套的Python爬虫教程,从基础到进阶,让您逐步掌握爬虫的核心技术。 合法合规:严格遵守法律法规和网站使用协议,确保采集行为合法,尊重网站权益。 实战项目:结合实际案例,让您在实践中掌握Python爬虫的运用,真正做到学以致用。 三、适用人群 无论您是数据分析师、网络开发者还是对Python爬虫感兴趣的爱好者,这些资源都将为您的学习和实践提供有力的支持。 四、使用建议 按需选择工具与教程:根据实际需求选择合适的工具和教程,确保学习与实践的有效性。 遵守法律法规与协议:在使用这些资源进行爬取活动时,务必遵守相关法律法规和网站的使用协议。 持续学习与更新:随着网络技术的不断进步,Python爬虫技术也在不断发展。建议您持续关注相关动态,提升自己的技能水平。 五、安全与责任 尊重网站权益:避免对目标网站的正常运行造成干扰或损害,合理使用资源。 隐私保护:在采集数据时,严格遵守隐私保护法规,不泄露或滥用用户个人信息。 风险防范:了解并应对潜在的网络威胁,采取相应措施降低风险。 感谢您选择我们的Python爬虫工具与教程集合!让我们一起挖掘网络信息的宝藏,为您的工作和研究注入新的活力!请务必遵守法律法规和网站使用协议,共同维护网络数据的合法采集与利用。
### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笼中小夜莺

嘿嘿嘿,请用金钱尽情地蹂躏我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值