Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计未展示

openakita%2fskills%40apify-scraperopenakita%2fskills%40apify 刮刀

Agent Skill

openakita%2fskills%40apify-scraper 用于处理浏览器自动化、网页检查和页面信息提取,适合在 Codex、Claude、Cursor、Gemini CLI 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

392

周安装

16

GitHub Stars

1,718

下载量

127
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:openakita%2fskills%40apify-scraper(openakita%2fskills%40apify 刮刀)
来源仓库:https://github.com/openakita/openakita
仓库路径:skills/openakita%2Fskills%40apify-scraper
安装命令:
npx skills add https://github.com/openakita/openakita --skill openakita/skills@apify-scraper
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/openakita/openakita --skill openakita/skills@apify-scraper

简介

用于处理浏览器自动化、网页检查和页面信息提取,适合打开页面或验证前端流程。

  • 适用于需要让 Agent 读取网页内容或进行页面交互的场景。
  • 通过 npx skills add 命令从 GitHub 仓库安装,需结合原始 README 核验具体用法。
  • 安装前应确认权限范围、维护状态,以及是否触发联网、命令执行或文件读写操作。
  • 建议在使用前检查技能的实际功能边界和宿主环境兼容性。

SKILL.md

Apify Scraper — 网页数据抓取

When to Use

  • 用户需要从网站抓取结构化数据(商品信息、社交媒体帖子、搜索结果等)
  • 需要批量获取社交媒体平台数据(Instagram、TikTok、YouTube 等)
  • 需要抓取 Google 搜索结果、地图信息、评价数据
  • 需要定期监控网页变化
  • 需要将非结构化网页内容转换为 JSON/CSV
  • 需要从电商平台提取商品和价格信息

Prerequisites

必需配置

配置项说明
APIFY_TOKENApify API Token,在 https://console.apify.com/account/integrations 获取

将 Token 添加到 .env 文件:

APIFY_TOKEN=apify_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

必需依赖

依赖用途安装方式
httpxHTTP API 调用pip install httpx

可选依赖

依赖用途安装方式
apify-clientApify Python SDKpip install apify-client
pandas数据处理与导出pip install pandas

验证配置

curl -s "https://api.apify.com/v2/user/me?token=$APIFY_TOKEN" | python -m json.tool

Instructions

Apify Actor 快速概览

Apify 平台上有数千个 Actor(即预构建的爬虫/自动化程序)。本技能聚焦 55+ 个经过验证的、面向 AI 数据提取优化的 Actor。

平台 Actor 速查表

社交媒体

平台ActorActor ID主要功能
InstagramProfile Scraperapify/instagram-profile-scraper用户资料、帖子、粉丝数
InstagramHashtag Scraperapify/instagram-hashtag-scraper标签下的帖子
InstagramComment Scraperapify/instagram-comment-scraper帖子评论
TikTokScraperclockworks/free-tiktok-scraper视频、用户、标签
YouTubeScraperbernardo/youtube-scraper视频信息、评论
YouTubeChannel Scraperstreamers/youtube-channel-scraper频道数据
FacebookPosts Scraperapify/facebook-posts-scraper页面帖子
FacebookComments Scraperapify/facebook-comments-scraper帖子评论
Twitter/XScraperapidojo/tweet-scraper推文搜索
LinkedInProfile Scraperanchor/linkedin-profile-scraper用户资料

搜索引擎

平台ActorActor ID主要功能
GoogleSearch Resultsapify/google-search-scraperSERP 结果
GoogleMapscompass/crawler-google-places商家信息、评价
GoogleTrendsemastra/google-trends-scraper搜索趋势
GoogleNewslhotanova/google-news-scraper新闻搜索
GoogleShoppingepctex/google-shopping-scraper商品价格
BingSearchnicefellow/bing-search-scraperBing 搜索结果

电商平台

平台ActorActor ID主要功能
AmazonProduct Scraperjunglee/amazon-scraper商品详情、评价
AmazonReview Scraperjunglee/amazon-reviews-scraper商品评论
eBayScraperdrobnikj/ebay-scraper商品搜索
AliExpressScraperepctex/aliexpress-scraper商品数据

通用工具

功能ActorActor ID主要功能
网页抓取Web Scraperapify/web-scraper通用网页数据提取
网页截图Screenshotapify/screenshot-url网页截图
链接提取Link Extractorapify/link-extractor页面链接收集
RSS 解析RSS Feeddrobnikj/rss-feed-readerRSS 源数据
AI 提取GPT Scraperdrobnikj/gpt-scraperAI 驱动智能提取

Actor 自动选择策略

Agent 根据用户需求自动选择最合适的 Actor:

  1. 解析用户意图 — 从用户描述中识别目标平台和数据类型
  2. 匹配 Actor — 根据平台和功能匹配上方表格
  3. 若无精确匹配 — 使用通用 Web Scraper 或 GPT Scraper
  4. 确认方案 — 向用户确认将使用的 Actor 和预计数据量

Workflows

Workflow 1: 社交媒体数据抓取

步骤 1 — 确认需求

参数说明示例
平台目标社交平台Instagram
数据类型帖子/评论/用户/标签帖子
范围URL/关键词/用户名@openai
数量限制最大抓取条数100
时间范围时间过滤最近 30 天

步骤 2 — 选择并配置 Actor

from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])

run_input = {
    "usernames": ["openai"],
    "resultsLimit": 100,
    "resultsType": "posts",
}

run = client.actor("apify/instagram-profile-scraper").call(run_input=run_input)

步骤 3 — 获取并处理结果

items = list(client.dataset(run["defaultDatasetId"]).iterate_items())

步骤 4 — 格式化输出

将数据转换为用户需要的格式(JSON/CSV/表格摘要)。


Workflow 2: 搜索引擎数据抓取

步骤 1 — 确认搜索参数

参数说明默认值
关键词搜索查询
搜索引擎Google/BingGoogle
国家/语言地域设置CN/zh
结果数量抓取条数50
类型网页/新闻/图片/视频网页

步骤 2 — 调用 Actor

run_input = {
    "queries": "AI agent 框架 2025",
    "maxPagesPerQuery": 3,
    "languageCode": "zh",
    "countryCode": "cn",
    "resultsPerPage": 10,
}

run = client.actor("apify/google-search-scraper").call(run_input=run_input)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())

步骤 3 — 提取关键字段

字段说明
title结果标题
url链接地址
description摘要描述
position排名位置

Workflow 3: 通用网页数据提取

当没有专用 Actor 时,使用 AI 驱动的通用提取:

方法 A — Web Scraper(基于选择器)

run_input = {
    "startUrls": [{"url": "https://example.com/products"}],
    "pageFunction": """
    async function pageFunction(context) {
        const $ = context.jQuery;
        const results = [];
        $('div.product-card').each((i, el) => {
            results.push({
                name: $(el).find('.title').text().trim(),
                price: $(el).find('.price').text().trim(),
                url: $(el).find('a').attr('href'),
            });
        });
        return results;
    }
    """,
    "maxRequestsPerCrawl": 100,
}

run = client.actor("apify/web-scraper").call(run_input=run_input)

方法 B — GPT Scraper(AI 智能提取)

run_input = {
    "startUrls": [{"url": "https://example.com/products"}],
    "instructions": "Extract all product names, prices, and descriptions from this page",
    "openaiApiKey": os.environ.get('OPENAI_API_KEY'),
    "maxRequestsPerCrawl": 10,
}

run = client.actor("drobnikj/gpt-scraper").call(run_input=run_input)

Workflow 4: 批量多平台抓取

同时从多个来源抓取数据:

步骤 1 — 列出所有抓取任务 步骤 2 — 并行启动多个 Actor 步骤 3 — 等待所有任务完成 步骤 4 — 合并结果并去重

import asyncio
from apify_client import ApifyClientAsync

async def batch_scrape(tasks):
    client = ApifyClientAsync(os.environ['APIFY_TOKEN'])
    results = {}

    async def run_actor(name, actor_id, input_data):
        run = await client.actor(actor_id).call(run_input=input_data)
        items = []
        async for item in client.dataset(run["defaultDatasetId"]).iterate_items():
            items.append(item)
        results[name] = items

    await asyncio.gather(*[
        run_actor(t['name'], t['actor_id'], t['input'])
        for t in tasks
    ])

    return results

Output Format

JSON 输出(默认)

{
  "metadata": {
    "actor": "apify/instagram-profile-scraper",
    "total_items": 42,
    "scraped_at": "2025-03-01T14:30:00Z",
    "run_id": "abc123",
    "cost_usd": 0.05
  },
  "data": [
    {
      "id": "post_12345",
      "text": "帖子内容...",
      "likes": 1234,
      "comments": 56,
      "timestamp": "2025-02-28T10:00:00Z",
      "url": "https://instagram.com/p/xxx"
    }
  ]
}

CSV 输出

import pandas as pd

df = pd.DataFrame(items)
df.to_csv('output.csv', index=False, encoding='utf-8-sig')

摘要表格

当数据量较大时,先输出摘要统计:

📊 抓取完成
- Actor: Instagram Profile Scraper
- 总条数: 142 条帖子
- 时间范围: 2025-01-01 ~ 2025-03-01
- 平均点赞: 2,345
- 最高互动帖子: [URL]
- 费用: $0.12

Common Pitfalls

1. APIFY_TOKEN 未配置

症状:所有请求返回 401 解决:确认 .env 中的 APIFY_TOKEN 已正确设置

2. Actor 运行超时

症状:任务长时间未完成 解决

  • 减少 maxRequestsPerCrawlresultsLimit
  • 使用 memoryMbytes 增加内存分配
  • 检查目标网站是否可达

3. 被目标网站封禁

症状:返回 403 或空结果 解决

  • 使用 Apify 的代理池(Actor 通常自带)
  • 降低并发和频率
  • 增加请求间隔

4. 数据格式不一致

不同 Actor 返回的数据结构不同。在处理数据前先检查字段:

if items:
    print("Available fields:", list(items[0].keys()))

5. 费用超预期

Apify 按计算单元(CU)收费。大规模抓取前:

  • 先小量测试(resultsLimit: 10)确认结果质量
  • 估算总费用:查看测试运行的 CU 消耗 × 总数据量倍数
  • 设置账户费用上限

6. 社交平台反爬限制

Instagram、TikTok 等平台会动态调整反爬策略:

  • 不要在短时间内大量抓取同一账号
  • 使用平台提供的数据导出功能作为补充
  • 遵守平台的 robots.txt 和 Terms of Service

伦理与合规指南

必须遵守

  1. robots.txt — 尊重网站的 robots.txt 规则
  2. Terms of Service — 不违反目标网站的服务条款
  3. 隐私法规 — 遵守 GDPR、个人信息保护法等法规
  4. 频率限制 — 不对目标网站造成过大负载
  5. 数据用途 — 仅用于合法目的(分析、研究、商业决策)

禁止行为

  1. 抓取个人隐私信息用于骚扰或监控
  2. 大量抓取导致目标网站服务降级
  3. 绕过付费墙或版权保护
  4. 出售未经授权的第三方数据
  5. 用于垃圾信息、虚假评论等恶意目的

建议做法

  1. 缓存已获取数据,避免重复抓取
  2. 使用增量抓取而非全量抓取
  3. 在非高峰时段执行大规模任务
  4. 提供 User-Agent 标识你的爬虫身份
  5. 记录抓取日志以便审计

高级功能

定时任务

schedule_input = {
    "actorId": "apify/google-search-scraper",
    "cronExpression": "0 9 * * 1",  # 每周一早 9 点
    "input": {
        "queries": "竞品动态",
        "maxPagesPerQuery": 1,
    }
}

Webhook 通知

run = client.actor("apify/web-scraper").call(
    run_input=run_input,
    webhooks=[{
        "eventTypes": ["ACTOR.RUN.SUCCEEDED"],
        "requestUrl": "https://your-server.com/webhook",
    }]
)

EXTEND.md 扩展

用户可在技能同目录下创建 EXTEND.md 添加:

  • 常用的 Actor ID 和预设配置
  • 自定义数据处理管道
  • 特定网站的抓取策略
  • 代理配置和反封禁策略

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude

31.64%
按下载量换算40

Codex

31.08%
按下载量换算39

Cursor

17.69%
按下载量换算22

Gemini CLI

9.68%
按下载量换算12

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills