一个抓取工具,每个 Stack Exchange 站点。
实时输入的 Crawling API。观看 stackexchange-serp 抓取工具从 Super User、Ask Ubuntu 和 MathOverflow 返回结构化 JSON - 同一个调用适用于网络中的任何站点。悬停以暂停并阅读。
一个 API,整个 Stack Exchange 网络。
这两个抓取工具是 host-agnostic 的,因此同一个调用可用于 Stack Overflow、Super User、Ask Ubuntu、MathOverflow 以及每个 *.stackexchange.com 站点。Crawling API 在真实浏览器中渲染每个页面,通过住宅 IP 访问,并交付干净的 HTML 或 JSON。
每个 Stack Exchange 站点
stackoverflow.com、superuser.com、askubuntu.com、serverfault.com、mathoverflow.net 以及所有 *.stackexchange.com 社区都通过同样的两个抓取工具运行。
1.4 亿住宅 IP
Stack Exchange 会对数据中心 IP 限流,因此每个请求都会在 30 个地区轮换一个住宅 IP,像真实的本地访客一样访问每个站点。
封锁由我们处理
CAPTCHA、机器人墙和限流都会自动清除。无需求解,无需维护。
HTML 或 JSON
获取完整渲染的 HTML,或添加 scraper=stackexchange-serp 或 stackexchange-thread 以将问题列表和完整主题作为结构化 JSON 返回。
截图和异步
同一个调用可以捕获整页截图,或通过 webhook 和云存储异步运行。
每个主题字段,都是干净的 JSON。
发送一个问题 URL 并附上 scraper=stackexchange-thread 主题就会以类型化 JSON 返回。换成 stackexchange-serp 即可对问题列表、标签和搜索结果做同样的事。
问题
question.id · string question.title · string question.score · number question.viewCount · number
作者
question.author.name · string question.author.url · string question.author.reputation · number
回答
answerCount · number answers[].score · number answers[].isAccepted · boolean answers[].body · string
评论
question.comments[] · array answers[].comments[].score · number answers[].comments[].createdAt · string
标签
question.tags · array question.askedAt · string answers[].createdAt · string
一个调用,从 URL 到数据。
每个 Stack Exchange 请求都走同一条路径。你发送一个 URL,我们运营其间的一切。
发送 URL
用你的令牌传入任意公开的 Stack Exchange URL:网络中任意站点上的问题、标签、搜索或列表。
轮换代理
从 30 个地区的 1.4 亿 IP 中,选取能干净访问每个站点的住宅 IP 和地区。
渲染页面
真实浏览器加载页面,使得分数、回答和评论在捕获前完成渲染。
清除反爬
每个站点的机器人检查和逐页限流都会自动处理。无需求解,无需维护。
返回 HTML 或 JSON
返回完整渲染的 HTML,或在你添加 stackexchange-serp 或 stackexchange-thread 时返回类型化 JSON。
团队用 Stack Exchange 数据构建什么。
开发者知识挖掘
在整个网络中提取问题、被采纳的回答和评论,构建可搜索的知识库。
训练数据与 RAG
通过一个 API 将干净的问答文本喂给模型、RAG 管道和编码代理。
技术趋势监测
关注各站点的标签和搜索页,尽早发现崛起的语言、工具和话题。
问答数据集
为评估和基准组装结构化的问题、回答和投票数据集。
竞争与开发者研究
挖掘真实的开发者问题、错误和变通方法,为产品和文档提供依据。
任意 URL,一个 API
在网络中抓取问题、标签、用户页和搜索,外加你需要的任何其他站点。
抓取 Stack Exchange 时需要了解的要点。
一对抓取工具,每个站点
stackexchange-serp 和 stackexchange-thread 是 host-agnostic 的,因此这两个抓取工具覆盖 Stack Overflow、Super User、Ask Ubuntu、MathOverflow 以及所有 *.stackexchange.com 社区。
默认 HTML,按需 JSON
你会得到完整渲染的 HTML。添加 scraper=stackexchange-serp 或 stackexchange-thread 获取已解析的 JSON,或自行解析 HTML。
设计上使用住宅代理
Stack Exchange 会对数据中心 IP 限流,因此请求通过住宅池路由。每个请求轮换一个全新 IP,使访问保持稳定。
从任何地方访问每个站点
覆盖 30 个地区和 1.4 亿住宅 IP 的地理定位意味着无需管理代理即可稳定访问。
为大规模抓取 Stack Exchange 而生。
Crawling API 运行在同一张网络上,为超过 46,000 名付费客户和 70,000 名开发者提供服务。无需购买代理,无需运行浏览器,Stack Exchange 站点变更时也无需打补丁。
一个令牌,面向 Python、Node 和 Ruby 的官方 SDK,底层是 99.99% 可用性的网络。