我如何构建一个在 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.dev • GitHub • Docs