Appearance
如何开发 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。
你可能还需要
暂无推荐