Python爬虫之路(3)-- 抓包工具介绍

转载来源:CrawlerTutorial/爬虫入门/05_常用的抓包工具有那些.md at main · NanmiCoder/CrawlerTutorial (github.com)

利用各种工具抓包网络请求

在进行网络爬虫开发时,抓包是一个非常重要的步骤。它可以帮助我们了解客户端和服务器之间的通信过程,包括请求的发送和响应的接收。这对于分析和模拟网络请求尤其关键。本教程将介绍几种常用的抓包工具,包括Chrome的开发者工具、Charles和Fiddler。

  • Chrome抓包Web应用
  • Charles和Fiddler既可以抓包APP也可以抓包Web

使用Chrome的开发者工具

我之前写了一篇博客微博爬虫的示例,其中有关于Chrome F12抓包的文章,感兴趣的可以去看下:微博帖子评论爬取教程

Chrome浏览器内置的开发者工具是最直接便捷的抓包方式之一,特别适合前后端分离的网站分析。

  1. 打开Chrome浏览器,访问目标网站。

  2. F12或右键点击页面,选择"检查"打开开发者工具。

  3. 切换到"Network"(网络)标签页。此时可能需要刷新页面以捕获所有网络请求。

  4. 浏览网络请求列表,点击任一请求查看详细信息,包括请求头、响应头、响应体等。

  5. 可以通过过滤器筛选特定类型的请求,例如XHR(Ajax请求)。

  6. 使用Chrome开发者工具的优点在于无需安装额外软件,操作简单,适合快速查看和分析HTTP/HTTPS请求。

然后刷新页面,重新加载网站,让服务端重新发送数据给我们。

使用Charles

当我有抓取APP或者小程序等需求的时候,我用charles比较多一些,因为它对Macos支持比较友好。

具体安装和使用示例可以看这篇文章,写的比较细:charles安装入门使用示例

Charles是一款广受欢迎的跨平台抓包工具,它可以作为代理服务器运行,监控和修改进出电脑的所有HTTP和HTTPS请求。

  1. 下载并安装Charles。
  2. 启动Charles,它会自动开始捕获网络请求。
  3. 配置浏览器或设备使用Charles为代理服务器。这通常涉及到设置代理服务器地址为127.0.0.1(本机地址),端口为Charles显示的端口(默认8888)。
  4. 访问目标网站或应用,Charles会显示通过它的所有请求和响应。
  5. 双击任一请求或响应以查看详细内容。

Charles强大之处在于它能够修改请求或响应,实现更深入的测试和分析。

使用Fiddler

这款工具在windows平台很火,我之前在上一家公式做一些爬虫的小需求有用过,整体尚可,但是好像已经开始收费了,免费版的功能又受限。

具体安装和使用示例可以看这篇文章,写的比较细:Fiddler安装入门使用示例

Fiddler同样是一款功能强大的网络请求分析工具,它也可以捕获计算机上的HTTP/HTTPS请求。

  1. 下载并安装Fiddler。
  2. 启动Fiddler,它默认开始捕获网络请求。
  3. 在"Web Sessions"窗口中,可以看到通过Fiddler的所有HTTP/HTTPS请求和响应。
  4. 点击任一条目查看详细的请求和响应信息。

Fiddler提供了广泛的自定义选项,包括断点设置、请求编辑、性能测试等高级功能。

总结

抓包是网络爬虫开发中不可或缺的一环。通过使用Chrome开发者工具、Charles、Fiddler等工具,我们可以有效地分析和理解客户端与服务器之间的通信过程。这些工具各有特点,选择合适的工具可以大大提高爬虫开发的效率和质量。

相关推荐
郭庆汝40 分钟前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
思则变4 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络4 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find6 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取7 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector8 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习8 小时前
Python入门Day2
开发语言·python
Vertira8 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉8 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗9 小时前
黑马python(二十四)
开发语言·python