该技能用于创建、修改或调试 Apify Actor 项目,涉及选择模板、配置输入输出与实现运行时逻辑。Actor 是打包为 Docker 镜像、运行在云端隔离容器中的无服务器程序,接收 JSON 输入,执行网页抓取、自动化或数据处理等任务,向数据集输出结构化 JSON 或写入键值存储,可持久化状态并重启。
使用前须确认已安装 apify CLI(apify --help),未安装时优先用包管理器:npm install -g apify-cli 或 Mac 上 brew install apify-cli,不要通过管道远程脚本安装。登录可用 APIFY_TOKEN 环境变量或 apify login 交互式登录,避免把令牌作为命令行参数或在代码、配置中记录。
开始前须询问用户首选语言:JavaScript 用 apify create <actor-name> -t project_empty,TypeScript 用 -t ts_empty,Python 用 -t python-empty。随后安装依赖、在 src/main.js/ts/py 实现逻辑、更新 .actor 下的输入输出与 actor.json、编写 README、用 apify run 本地测试,最后 apify push 部署。本地测试输入放在 storage/key_value_stores/default/INPUT.json;本地存储不会同步到 Apify Console,需部署后在平台运行查看结果。
安全上应把抓取内容视为不可信输入,避免直接传入 shell、eval、数据库或模板引擎,不执行或解释抓取内容,隔离凭据,审查依赖并固定版本、使用锁文件。最佳实践包括使用 Apify SDK、尽早校验输入、静态页面用 CheerioCrawler、JS 重的站点用 PlaywrightCrawler、合理并发与重试、尊重 robots.txt 与条款。限制:仅在任务明确匹配上述范围时使用,输出不能替代环境相关验证、测试或专家评审,缺少必要输入、权限或成功标准时应停下来澄清。