反爬虫大师的网络爬取API

网页爬取曾经需要整个设置。启动Playwright或Puppeteer,管理浏览器实例,处理分页,应对JavaScript渲染页面,编写重试逻辑,并自己解析HTML。在爬取单个页面之前要花费半天的工作。

Cloudflare刚刚将所有这些压缩到一个API调用中。

1、新功能

Cloudflare的浏览器渲染现在在公开测试中有一个/crawl端点。你给它一个URL。它爬取整个网站。它以你需要的任何格式返回内容------HTML、Markdown或结构化JSON。

没有浏览器管理。没有脚本。没有需要照看的基础设施。

这可以在Workers免费和付费计划上使用。

2、基础知识

两个请求。这就是整个工作流程。

开始爬取:

复制代码
# Initiate a crawl
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://blog.cloudflare.com/"
  }'

你获得一个作业ID。爬取在后台异步运行。

检查结果:

复制代码
# Check results
curl -X GET 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}' \
  -H 'Authorization: Bearer <apiToken>'

完成后,响应看起来像这样:

复制代码
{
  "total": 10,
  "finished": 10,
  "records": [{
    "url": "https://blog.cloudflare.com/",
    "metadata": { "title": "...", "status": 200 },
    "html": "<!DOCTYPE html>..."
  }]
}

每个页面都返回其URL、标题、HTTP状态和完整内容。干净。

3、为什么这实际上很重要

明显的用例是Cloudflare提到的那些------模型的训练数据、RAG管道、内容监控。所有这些都需要从站点批量提取内容,而在此之前,这意味着要么为爬取服务付费,要么维护自己的爬取服务。

但这里还有一个微妙的事情。这在无头浏览器中运行。这意味着重JavaScript的站点------单页应用程序、React站点、任何需要JS渲染的东西------在返回内容之前都会被正确渲染。大多数爬虫在没有大量设置的情况下都无法做到这一点。

你不会得到因为内容动态加载而半空的原始HTML。你得到的是真正的浏览器看到的东西。

4、值得了解的控制

当基本爬取不够时,端点有可选参数。

爬取深度和页面限制------设置你想要多深并限制总页面数。当你只想要顶级内容并且不需要深入五个链接时很有用。

通配符URL模式 ------包含或排除特定路径。假设你只想要/blog/内容并想要跳过/docs/。你可以设置它。

URL发现源------爬虫从网站地图、从每个页面上的链接,或两者中发现新页面。你选择。

增量爬取 ------这是一个实用的。使用modifiedSince或maxAge跳过自你上次爬取以来没有更改的页面。如果你在定期计划上运行它来监控站点,你只获取实际新的内容。

静态模式 ------设置render: false,爬虫完全跳过无头浏览器,只是获取原始HTML。对于不需要JavaScript渲染的静态网站快得多。

5、它尊重robots.txt

爬虫遵守robots.txt指令,包括crawl-delay。它被设计为像一个有礼貌的机器人而不是锤子。Cloudflare有关于robots.txt和网站地图最佳实践的文档,以帮助你的爬取从一开始就顺利进行。

6、何时实际使用它

一些场景,这取代了大量自定义工作:

**在文档站点上构建RAG系统。**将爬虫指向文档,以Markdown格式获取所有内容,将其分块,嵌入它。特别是Markdown输出足够干净,可以直接馈送到大多数管道而无需预处理。

**监控竞争对手内容。**每周运行一次增量爬取,将modifiedSince设置为你上次运行的日期。只有更改的页面才会返回。你确切地看到什么是新的。

**创建训练数据。**批量爬取站点,收集HTML或结构化JSON,馈送到你的数据管道。异步作业模型处理大型站点而不会超时。

**一次性研究。**有时你只需要一个站点的所有内容而不需要为它编写脚本。就是这样。

7、结束语

完整的可选参数列表在developers.cloudflare.com/browser-rendering/rest-api/crawl-endpoint。爬取深度、缓存、URL源、通配符模式------所有的都在那里。

robots.txt最佳实践在developers.cloudflare.com/browser-rendering/reference/robots-txt。

端点目前在公开测试中。免费计划用户可以在没有任何付费承诺的情况下尝试它。

两个curl命令爬取整个站点。这就是我们现在所在的位置。


原文链接:反爬虫大师的网络爬取API - 汇智网

相关推荐
SEO_juper3 小时前
hreflang 审计工具:外贸多语言站谷歌SEO的隐性杀手
开发语言·人工智能·爬虫·python·seo
深蓝电商API6 小时前
Firecrawl、ScrapeGraphAI:AI爬虫框架横评
人工智能·爬虫·firecrawl·scrapegraphai
小花皮猪7 小时前
从 Prompt 到结构化 JSON:如何利用 Bright Data 快速搭建 YouTube 监测工作流?
人工智能·爬虫·agent·数据采集
云老大-阿里云国际站代理商8 小时前
网站遇到恶意爬虫和CC攻击,阿里云国际站WAF与Bot管理怎么搭配
爬虫·阿里云·云计算
重生之高冷汉堡包10 小时前
Perplexity爬虫怎么做?2026常见方案对比、实操教程与问题排查
大数据·网络·爬虫·安全·ai
傻啦嘿哟10 小时前
设计类网站爬虫:爬取站酷+CNU设计作品,做灵感采集器
爬虫
深蓝电商API1 天前
LLM正在改变爬虫:Crawl4AI源码深度解析
爬虫·crawl4ai
Chengbei113 天前
JsOwl|AI 赋能 JS 敏感信息扫描器,AST + 正则、source‑map 源码还原、登录态爬虫输出交互式 HTML 报告
开发语言·javascript·网络·人工智能·爬虫·网络安全·自动化
远航计算机3 天前
AI 答案里的链接,为什么开始分等级了?
大数据·人工智能·爬虫·aigc
Novproxy_Z3 天前
爬虫任务被拦截:区分 IP 封禁、设备封禁、账号封禁
爬虫·网络协议·tcp/ip