我如何构建一个在 Cloudflare 网站上真正有效的爬虫

发布: (2026年3月8日 GMT+8 15:15)
3 分钟阅读
原文: Dev.to

Source: Dev.to

为什么爬取总是失败

目前有三件事在杀死大多数爬虫。

  • JavaScript 渲染 – 许多站点只返回一个空的 HTML 框架,然后通过 React 或 Vue 进行水合。直接请求 URL 只会得到一个只有 ID 的 “,没有其他内容。
  • 机器人检测 – Cloudflare、PerimeterX、DataDome 等会对你的浏览器进行指纹识别。缺少插件、屏幕分辨率不对,或是鼠标移动的时机恰好,都会触发拦截。一个普通的 Playwright 脚本大约在 30 秒内就会失败。
  • IP 信誉 – 数据中心的 IP 在代码运行之前就已经被标记。AWS、Hetzner、DigitalOcean 等提供商的 IP 在许多目标站点上默认被封锁。

你可以分别针对这些问题进行处理,也可以选择不去应付它们。

我做了什么

anybrowse 接收一个 URL 并返回干净的 Markdown。这就是它的全部 API。

pip install anybrowse
from anybrowse import AnybrowseClient

client = AnybrowseClient()
result = client.scrape("https://techcrunch.com")
print(result.markdown)

在内部,它运行带有随机指纹的已打补丁 Chromium,首次尝试失败时会回退到住宅 ISP 代理,并在需要针对 Chrome 进行特定画像的站点上使用基于 Firefox 的引擎(Camoufox)。CAPTCHA 通过 CapSolver 内置解决。

对于 AI 代理,提供了一个即插即用的 MCP 服务器,可直接与 Claude Desktop、Cursor 和 Windsurf 配合使用:

{
  "mcpServers": {
    "anybrowse": {
      "type": "streamable-http",
      "url": "https://anybrowse.dev/mcp"
    }
  }
}

你的代理可以获得爬取、抓取、搜索、批量爬取和结构化提取工具。搜索端点通过 Brave Search API 实现,因此能够返回结果,而不是在 Google 上超时。

真实数据

  • 90 % 成功率 在普通网站上。
  • LinkedIn 和 Twitter 仍然困难,因为大多数内容需要登录。
  • 付费墙是另一个独立的问题,爬虫无法解决。

剩余的 10 % 失败大多是激进的每请求 CAPTCHA 和严格的登录墙。CapSolver 有帮助,但并非魔法。

试一试

  • 每天 10 次免费爬取,无需注册,也不需要信用卡。
  • 如果需要更多,信用套餐起价为 $5 可进行 3,000 次爬取

anybrowse.devGitHubDocs

0 浏览
Back to Blog

相关文章

阅读更多 »