Crawling API / Duolingo

Duolingo 抓取工具。
任意页面,完整渲染。

发送任意 Duolingo URL,即可获取完整渲染的 HTML,通过住宅代理返回并内置反爬处理。
使用 generic extractor 将其转换为 JSON。

99% 成功率1.4 亿住宅 IP30 个地区
Duolingo URLHTML 或 JSONwww.duolingo.com/course/es/en/Learn-SpanishCrawlbase路由渲染提取渲染后的 HTML结构化 JSONcrawling-apigeneric-extractorduolingo.com · 机器人检测已通过 · 200
实时抓取信息流 · Duolingo1.24M req/min流式传输中
200duolingo.com/course/it/en/Learn-ItalianES208ms
301duolingo.com/learnES92ms
200duolingo.com/esSG59ms
301duolingo.com/course/zh/en/Learn-ChineseGB115ms
200duolingo.com/course/pt/en/Learn-PortugueseBR142ms
301duolingo.com/profile/luca_devGB209ms
200duolingo.com/course/it/en/Learn-ItalianGB57ms
200duolingo.com/course/es/en/Learn-SpanishJP79ms
200duolingo.com/course/zh/en/Learn-ChineseDE103ms
200duolingo.com/course/ja/en/Learn-JapaneseCA216ms
200duolingo.com/course/fr/en/Learn-FrenchIN169ms
200duolingo.com/course/it/en/Learn-ItalianSG76ms
200duolingo.com/course/ja/en/Learn-JapaneseNL178ms
200duolingo.com/coursesCA103ms
200duolingo.com/course/zh/en/Learn-ChineseNL87ms
200duolingo.com/coursesSG69ms
404duolingo.com/profile/luca_devUS63ms
200duolingo.com/profile/kenji88NL143ms
200duolingo.com/course/de/en/Learn-GermanIN111ms
200duolingo.com/course/de/en/Learn-GermanAU100ms
200duolingo.com/profile/maria_langIN46ms
200duolingo.com/course/fr/en/Learn-FrenchES81ms
200duolingo.com/course/ja/en/Learn-JapaneseUS123ms
200duolingo.com/course/fr/en/Learn-FrenchBR42ms
200duolingo.com/profile/kenji88US96ms
200duolingo.com/esDE143ms
200duolingo.com/course/it/en/Learn-ItalianES208ms
301duolingo.com/learnES92ms
200duolingo.com/esSG59ms
301duolingo.com/course/zh/en/Learn-ChineseGB115ms
200duolingo.com/course/pt/en/Learn-PortugueseBR142ms
301duolingo.com/profile/luca_devGB209ms
200duolingo.com/course/it/en/Learn-ItalianGB57ms
200duolingo.com/course/es/en/Learn-SpanishJP79ms
200duolingo.com/course/zh/en/Learn-ChineseDE103ms
200duolingo.com/course/ja/en/Learn-JapaneseCA216ms
200duolingo.com/course/fr/en/Learn-FrenchIN169ms
200duolingo.com/course/it/en/Learn-ItalianSG76ms
200duolingo.com/course/ja/en/Learn-JapaneseNL178ms
200duolingo.com/coursesCA103ms
200duolingo.com/course/zh/en/Learn-ChineseNL87ms
200duolingo.com/coursesSG69ms
404duolingo.com/profile/luca_devUS63ms
200duolingo.com/profile/kenji88NL143ms
200duolingo.com/course/de/en/Learn-GermanIN111ms
200duolingo.com/course/de/en/Learn-GermanAU100ms
200duolingo.com/profile/maria_langIN46ms
200duolingo.com/course/fr/en/Learn-FrenchES81ms
200duolingo.com/course/ja/en/Learn-JapaneseUS123ms
200duolingo.com/course/fr/en/Learn-FrenchBR42ms
200duolingo.com/profile/kenji88US96ms
200duolingo.com/esDE143ms
01 实时演示

任意 Duolingo URL 输入。HTML 或 JSON 输出。

Crawling API,实时演示。获取渲染后的 HTML,或切换到 generic extractor 获取 JSON。悬停即可暂停阅读。

就绪
按键 1-2 切换 · 点击暂停运行你自己的 URL
几分钟内运行你的第一个请求。最多 10,000 次免费请求,无需信用卡。免费开始
02 功能

一个 API,应对 Duolingo 抛给你的一切。

Duolingo 是一个 JavaScript 单页应用,其课程树、排行榜和个人资料通过内部 API 渲染,且应用页面和个人资料页面上都有机器人检测。Crawling API 在真实浏览器中渲染它,通过住宅 IP 访问它,并向你交付干净的 HTML 或 JSON。

render

完整的 JavaScript 渲染

真实浏览器执行该单页应用,因此通过内部 API 加载的课程单元、课时、排行榜和个人资料数据都会被捕获,而不仅仅是初始外壳。

proxies

1.4 亿住宅 IP

每个请求都会在 30 个地区之间轮换住宅 IP,因此你能像真实的本地学习者一样访问 Duolingo。

anti-bot

拦截由我们处理

CAPTCHA、机器人墙和速率限制都会被自动清除。无需破解,无需维护。

format

HTML 或 JSON

获取完整渲染的 HTML,或添加 scraper=generic-extractor以将标题、内容、图片和链接作为结构化 JSON 返回。

extras

截图与异步

同一个调用可以捕获整页截图,或通过 webhook 和云存储异步运行。

one token

一个 API 适配所有站点

Crawling API 适用于任意 URL,因此同一个令牌可覆盖 Duolingo 以及你抓取的其他一切。 查看实时演示.

03 输出

渲染后的 HTML,或干净的 JSON。

默认情况下你会获得渲染后的 HTML。添加 generic-extractor,同一页面即以类型化的 JSON 返回。

{ "title": "Learn Spanish | Duolingo", "favicon": "https://d35aaqx5ub95lt.cloudfront.net/favicon.ico", "meta": { "description": "Learn a language for free with Duolingo.", "keywords": "..." }, "content": "Course units, lessons, leaderboards and profile data...", "canonical": "https://www.duolingo.com/course/es/en/Learn-Spanish", "images": [ "..." ], "og_images": [ "..." ], "links": [ "..." ] }

页面

title · string  canonical · string  favicon · string

元数据

meta.description · string  meta.keywords · string

内容

content · string

媒体

images · array  og_images · array

链接

links · array

04 工作原理

一次调用,从 URL 到数据。

每个 Duolingo 请求都走同样的路径。你发送一个 URL,其间的一切由我们操作。

01

发送 URL

用你的令牌传入任意公开的 Duolingo URL:课程、目录、排行榜或公开个人资料。

02

轮换代理

一个能顺畅访问 Duolingo 的住宅 IP 和地区,取自遍布 30 个地区的 1.4 亿 IP。

03

渲染页面

真实浏览器加载该单页应用,使课程单元、排行榜和个人资料数据在捕获前完成渲染。

04

清除反爬机制

Duolingo 在应用页面和个人资料页面上的机器人检测会被自动处理。无需破解,无需维护。

05

返回 HTML 或 JSON

返回完整渲染的 HTML,或在你添加 generic extractor 时返回类型化的 JSON。

05 使用场景

团队用 Duolingo 数据构建什么。

USE / 01课程

课程与内容监控

在 Duolingo 更新课程时,跨语言对追踪课程单元、课时和目录的变化。

USE / 02语言

语言学习数据

收集课程内容、练习提示和本地化字符串,以研究课时是如何构建的。

USE / 03竞争

竞争分析

将课程覆盖范围、功能和排行榜与其他语言学习应用进行对标。

USE / 04本地化

本地化研究

比较同一课程在源语言和目标语言之间的差异,为翻译和本地化工作提供依据。

USE / 05训练

训练数据与 RAG

通过一个 API 将干净的 Duolingo 文本输入模型、RAG 流水线和智能体。

USE / 06覆盖

任意 URL,一个 API

抓取课程、目录、排行榜和个人资料,以及你需要的任何其他站点。

06 须知

抓取 Duolingo 时值得了解的事项。

像真实浏览器一样渲染

Duolingo 是一个单页应用;Crawling API 运行真实浏览器,使课程树、排行榜和个人资料数据在捕获前通过其内部 API 加载完成。

默认 HTML,按需 JSON

你会获得完整渲染的 HTML。添加 scraper=generic-extractor 以获取解析后的标题、内容、图片和链接,或自行解析 HTML。

语言对位于路径中

课程 URL 携带源语言和目标语言,因此你可以定位特定的语言对,并对请求进行地理定位以获取本地化内容。

从任何地方访问 Duolingo

跨 30 个地区和 1.4 亿住宅 IP 的地理定位意味着一致的访问,无需管理代理。

07 为什么选择 Crawlbase

为大规模抓取 Duolingo 而生。

Crawling API 运行在同一张网络上,该网络服务着 46,000+ 付费客户和 70,000+ 开发者。无需购买代理,无需运行浏览器,Duolingo 变更时也无需打补丁。

99%
平均请求成功率
140M
住宅 IP,另加 9800 万数据中心 IP
30
用于准确本地结果的地区数
20/s
默认每秒请求数,更多可按需提供

一个令牌,面向 Python、Node 和 Ruby 的官方 SDK,底层是 99.99% 正常运行时间的网络。

08 FAQ

Duolingo 抓取相关问题。

用你的令牌将 Duolingo URL 发送到 Crawlbase Crawling API。Crawlbase 会轮换住宅代理,在真实浏览器中渲染页面,清除机器人检测,并返回完整渲染的 HTML。添加 scraper=generic-extractor 即可改为获取结构化 JSON。
可以。默认情况下 Crawling API 返回渲染后的 HTML;添加 generic extractor(scraper=generic-extractor)即可接收标题、元数据、内容、图片和链接的 JSON,或自行解析 HTML。
会。Duolingo 是一个单页应用,因此真实浏览器会执行它,通过内部 API 加载的课程树、课时、排行榜和个人资料数据都会被捕获,而不仅仅是初始外壳。
Crawlbase 将每个请求通过遍布 30 个地区的轮换住宅 IP 路由,并自动清除机器人检测。你无需管理代理或破解 CAPTCHA,Duolingo 变更其配置时也无需维护。
可以。传入任意课程 URL(源语言和目标语言位于路径中)并对请求进行地理定位,你就能跨语言对收集课程内容和本地化字符串。
任意公开 URL:课程和单元页面、课程目录、排行榜、语言落地页和公开个人资料。同一个 API 也适用于任何其他站点。
免费开始,赠送最多 10,000 次请求,无需信用卡。付费计划随用量扩展,同一个令牌可在 Crawling API 和每个 Crawlbase 抓取工具间通用。

开始抓取 Duolingo。
跳过代理和拦截。

免费开始,赠送最多 10,000 次请求。一个令牌用于 Crawling API 和每个抓取工具。