Skip to content

如何开发 Apify Actor:从环境搭建到云端部署

本技能旨在帮助开发者快速上手 Apify Actor 的全生命周期开发,解决从本地环境配置、模板选择、逻辑实现到最终云端部署的完整流程问题。

为什么需要这个技能

Apify Actor 是一个基于 UNIX 哲学的 Serverless 程序,将特定的自动化任务(如网页抓取、数据处理)打包成 Docker 镜像并在云端运行。

传统的爬虫部署需要处理复杂的代理、并发控制和服务器维护。通过学习 Apify Actor 开发,你可以直接利用其内置的存储系统(Dataset, Key-Value Store)和强大的 SDK(如 Crawlee),将重心从底层基础设施转移到业务逻辑实现上。

适用场景

  • 需要构建可扩展的网页抓取(Web Scraping)或自动化流程。
  • 想要创建可通过 JSON 接口触发并输出结构化数据的云函数。
  • 需要在隔离的容器环境中运行长时间的后台数据处理任务。
  • 计划将自动化工具发布到 Apify Marketplace。

核心工作流

1. 环境准备与认证

首先确保安装了 apify-cli。建议使用包管理器安装以确保安全性:

bash
npm install -g apify-cli

执行 apify login 进行身份验证,或在环境变量中配置 APIFY_TOKEN

2. 项目初始化

根据语言偏好选择模板创建项目:

  • JavaScript: apify create <actor-name> -t project_empty
  • TypeScript: apify create <actor-name> -t ts_empty
  • Python: apify create <actor-name> -t python-empty

3. 开发与本地测试

  • 实现逻辑:在 src/main.js (或 .ts, .py) 中编写核心代码。
  • 定义模式:在 .actor/input_schema.json 中定义输入参数,在 output_schema.json 中定义输出结构。
  • 本地运行:使用 apify run 启动。本地输入文件需放置在 storage/key_value_stores/default/INPUT.json
  • 注意apify run 的结果仅保存在本地 storage/ 目录,不会同步到云端控制台。

4. 部署发布

使用以下命令将 Actor 推送到 Apify 云平台:

bash
apify push

安全与最佳实践

  • 数据脱敏:始终使用 apify/log 替代 console.log,以自动过滤敏感凭据。
  • 输入校验:将所有抓取的网页内容视为不可信输入,严禁将原始 HTML 直接传给 eval() 或 shell 命令。
  • 性能优化:静态页面优先使用 CheerioCrawler(速度快 10 倍),仅在必须执行 JS 时使用 PlaywrightCrawler
  • 版本锁定:提交 package-lock.json 或在 requirements.txt 中锁定版本,防止依赖库更新导致构建失败。

下载和安装

下载 apify-actor-development 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐