SuperAPI AI 工具集

apify-actor-development

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:开发、调试并部署 Apify Actors。Actor 是打包为 Docker 镜像、在云端隔离容器中运行的无服务器程序,接收结构化 JSON 输入,完成网页抓取、自动化或数据处理,将结果写入数据集或键值存储,可短时或长时间运行并持久化状态。

准备工作:需先安装并登录 apify CLI。检查用 apify --help;安装推荐 npm install -g apify-cli,Mac 可用 brew install apify-cli;不要用管道把远程脚本喂给 shell 安装。登录状态用 apify info 检查,未登录时可导出 APIFY_TOKEN(在 Apify 控制台生成)或执行 apify login,避免把 token 作为命令行参数或写入代码。

模板与流程:先询问用户语言偏好,JavaScript 用 apify create <actor-name> -t project_empty,TypeScript 用 -t ts_empty,Python 用 -t python-empty。随后安装依赖(npm install 或 pip install -r requirements.txt,锁定版本并提交锁文件),在 src/main.py、main.js 或 main.ts 实现逻辑,配置 .actor/input_schema.json、output_schema.json、dataset_schema.json 与 actor.json,编写 README,最后本地测试与部署。

命令:apify run 本地运行;apify login 认证;apify push 部署到 Apify 平台(名称取自 .actor/actor.json);apify help 查看命令。始终用 apify run 而非 npm start 等。本地测试输入放在 storage/key_value_stores/default/INPUT.json;本地 storage/ 不会同步到控制台,需 push 后在平台运行才能看到结果。

最佳实践:尽早校验输入并优雅处理错误;静态页面用 CheerioCrawler,重 JS 站点用 PlaywrightCrawler;用 router 模式、指数退避重试、合理并发与限速;在 schema 中设默认值;用 apify/log 记录以屏蔽敏感信息;遵守 robots.txt 与条款。

安全:把抓取内容视为不可信输入,不要直接传入 shell、eval、数据库查询或模板;校验并类型检查外部数据;隔离凭据与数据管道;审慎审查依赖,防范拼写仿冒;固定版本并使用锁文件。

限制与文档:standby 模式需查看 references/standby-mode.md;更多配置见 references 下各文件。文中未提供具体收费、价格或平台效果说明。