四个 Exercism 抓取工具。每个都返回干净的 JSON。
四个 Exercism 抓取工具,实时输入。exercism-serp 列出赛道的练习,exercism-exercise 拉取带说明的单个练习,exercism-solutions 对社区提交排序,exercism-solution 返回带源代码的单个已发布解答。切换标签,或悬停以暂停并阅读。
一个 API,覆盖 Exercism 的每个角落。
四个专用抓取工具覆盖重要的页面:赛道练习列表、单个练习、社区解答列表和单个已发布解答。Crawling API 在真实浏览器中渲染每个页面,通过住宅 IP 访问,并交付干净的 HTML 或 JSON。
每个语言赛道
exercism-serp 将任意赛道练习列表转换为 JSON:每个练习都带有其 slug、类型、标题、难度、简介和解锁状态,外加赛道练习数量。
完整的练习说明
exercism-exercise 返回单个练习概览,带有其标题、难度以及以文本和 HTML 两种形式呈现的完整说明。
社区解答列表
exercism-solutions 返回某个练习的社区解答分页列表,每个都带有作者、语言、星标、评论、浏览、迭代和代码片段。
完整的已发布解答
添加 scraper=exercism-solution 即可返回一个已发布解答,带有其完整源代码、迭代历史、测试状态和作者。
1.4 亿住宅 IP
每个请求都会在 30 个地区轮换一个住宅 IP,并自动清除机器人检查。无需求解,无需维护。
每个解答字段,都是干净的 JSON。
发送一个解答 URL 并附上 scraper=exercism-solution 解答就会以类型化 JSON 返回,包含源代码。换成 exercism-serp、exercism-exercise 或 exercism-solutions 即可获取列表、说明和社区解答。
解答
url · string track.title · string language · string numStars · number
练习
exercise.slug · string exercise.title · string exercise.type · string exercise.difficulty · string
作者
author.handle · string publishedAt · string numIterations · number
迭代
iterations[].idx · number iterations[].testsStatus · string iterations[].isPublished · boolean
代码
code · string isOutOfDate · boolean publishedIterationIdx · number
一个调用,从 URL 到数据。
每个 Exercism 请求都走同一条路径。你发送一个 URL,我们运营其间的一切。
发送 URL
用你的令牌传入任意公开的 Exercism URL:赛道练习列表、练习、解答列表或单个已发布解答。
轮换代理
从 30 个地区的 1.4 亿 IP 中,选取能干净访问站点的住宅 IP 和地区。
渲染页面
真实浏览器加载页面,使得练习、解答和代码在捕获前完成渲染。
清除反爬
站点的机器人检查和限流都会自动处理。无需求解,无需维护。
返回 HTML 或 JSON
返回完整渲染的 HTML,或在你添加 exercism-serp、exercism-exercise、exercism-solutions 或 exercism-solution 时返回类型化 JSON。
团队用 Exercism 数据构建什么。
代码训练数据与 RAG
通过一个 API 将干净的练习提示和真实的已发布解答喂给模型、RAG 管道和编码代理。
解答基准
跨语言组装结构化的解答数据集,带有星标、迭代和测试状态,用于评估和基准。
课程与目录同步
镜像赛道练习列表、类型、难度和解锁顺序,使学习平台和目录保持同步。
语言与风格研究
比较同一个练习在不同语言和作者间的解法,研究惯用法、模式和迭代历史。
文档与内容管道
以文本和 HTML 形式提取练习说明,为教程、文档和学习指南提供支持。
任意 URL,一个 API
抓取赛道、练习、解答列表和单个解答,外加你需要的任何其他站点。
抓取 Exercism 时需要了解的要点。
四个抓取工具,四种页面类型
exercism-serp 读取赛道练习列表,exercism-exercise 读取单个练习,exercism-solutions 读取社区解答列表,exercism-solution 读取一个带代码的已发布解答。
默认 HTML,按需 JSON
你会得到完整渲染的 HTML。添加 scraper=exercism-serp、exercism-exercise、exercism-solutions 或 exercism-solution 获取已解析的 JSON,或自行解析 HTML。
解答列表是分页的
exercism-solutions 在 solutions 数组之外返回 page、totalPages、totalCount 和 solutionCount,因此你可以遍历某个练习的每一页。
从任何地方访问站点
覆盖 30 个地区和 1.4 亿住宅 IP 的地理定位意味着无需管理代理即可稳定访问。
为大规模抓取 Exercism 而生。
Crawling API 运行在同一张网络上,为超过 46,000 名付费客户和 70,000 名开发者提供服务。无需购买代理,无需运行浏览器,站点变更时也无需打补丁。
一个令牌,面向 Python、Node 和 Ruby 的官方 SDK,底层是 99.99% 可用性的网络。