Featured image of post crawler-tutorial

crawler-tutorial

告别手动写爬虫代码-从F12到Python

手动编写 requests 代码经常因为标点符号、Header 格式错误、TLS 指纹识别或 Cookie 过期而导致报错,这是非常正常的情况。

针对**“把 cURL/F12 快速转成可运行代码”**这个需求,这里整理了四个“神器”帮你一键解决。按推荐程度排序如下:


  1. CurlConverter (Web版/命令行)

定位: 最推荐,零门槛,全球开发者首选。

专门解决手动抄写 Header 和 Cookie 的痛点。它能把 cURL 命令完美“翻译”成 Python requests 代码(支持数十种语言)。

  • 网址: curlconverter.com
  • 优点: 自动处理 Header 格式、JSON 转义、Cookie 字典化,完全避免由于手误导致的 Bug。

使用步骤:

  1. 在浏览器 F12 开发者工具的网络面板中,右键点击请求 -> Copy as cURL
  2. 打开网站,直接粘贴到左边的文本框里。
  3. 右边会自动生成 Python 代码,直接复制到 IDE 运行即可。

  1. Postman (调试神器)

定位: 先验证请求有效性,再生成代码。

如果你生成的代码跑不通,很有可能是请求本身的问题(如 Cookie 已过期)。Postman 允许你在可视化界面先测通接口。

使用步骤:

  1. 打开 Postman,点击左上角的 Import -> Raw Text
  2. 粘贴 cURL 命令并点击 Import,Postman 会自动填充参数。
  3. 点击 Send 测试:
    • 如果报错,说明 Cookie 或参数失效,需重新抓包。
    • 如果成功,点击右侧栏的 </> 图标 (Code snippet)。
  4. 选择 Python - Requests,复制生成的代码。

  1. 进阶大杀器:curl_cffi

定位: 解决“代码逻辑没错,但被服务器拦截 (403 Forbidden)”的问题。

重点注意: 如果 CurlConverter 生成的代码一模一样却报错(如 403 或连接重置),大概率是因为 TLS 指纹识别。百度、Cloudflare 等大厂会识别 Python requests 库的指纹并拦截。

解决方案: 使用 curl_cffi 库模拟真实浏览器指纹。

安装:

pip install curl_cffi

代码示例:

用法几乎与 requests 一致,只需增加 impersonate 参数:

from curl_cffi import requests

# 把生成的 requests 代码拿过来,改成用 curl_cffi 调用
response = requests.post(
    "YOUR_URL_HERE", 
    headers=headers, 
    data=data, 
    impersonate="chrome110"  # 关键:伪装成 Chrome 浏览器
)

4. 终极懒人方案:Playwright Codegen

定位: 录制即代码,解决极其复杂的反爬虫。

如果你不想分析接口参数,也不想处理反爬,可以直接使用浏览器自动化录制。虽然运行效率比 requests 低,但因其是真实浏览器操作,极难被屏蔽。

使用步骤:

在终端输入以下命令,浏览器会自动弹出:

playwright codegen fanyi.baidu.com

你在这个浏览器里的每一次点击和输入,终端窗口都会实时生成对应的 Python 代码。


总结与建议

  1. 第一步: 先用 CurlConverter 转换代码,尝试运行。
  2. 第二步: 如果代码报 403/404Connection Error,说明遭遇反爬,请放弃标准 requests,直接改用 curl_cffi
  3. 调试: 如果还是无法解决,请检查 HTTP 状态码或 Python 抛出的具体 Exception。

下一步建议
如果您在使用 `curl_cffi` 后仍然遇到报错,或者需要处理更复杂的动态加载页面(JavaScript 渲染),您希望我为您生成一段 **Playwright 的基础启动代码** 吗?
最后修改于 Nov 20, 2025 15:27 +0800
使用 Hugo 构建
主题 StackJimmy 设计