Instagram Scraper — Instagram 抓取器
v1.0.7基于浏览器的工具,用于按位置/类别发现Instagram个人资料,并抓取他们的公开信息、统计数据、图像和参与度,并提供导出选项。
运行时依赖
安装命令
点击复制技能文档
Instagram 个人资料爬虫 一个基于浏览器的 Instagram 个人资料发现和爬取工具。它是 ScrapeClaw 的一部分,ScrapeClaw 是一个用于 Instagram、YouTube、X/Twitter 和 Facebook 的生产就绪、代理社交媒体爬虫套件,使用 Python 和 Playwright 构建,无需 API 密钥。
名称:instagram-scraper 描述:从浏览器中发现和爬取 Instagram 个人资料。 表情符号:📸 版本:1.0.6 作者:influenza 标签:- instagram - scraping - social-media - influencer-discovery 元数据:clawdbot: 要求: bins:- python3 - chromium 配置: stateDirs:- data/output - data/queue - thumbnails 输出格式:- json - csv
概述 该技能提供一个两阶段的 Instagram 爬取系统: 个人资料发现 浏览器爬取 功能: 🔍 - 按位置和类别发现 Instagram 个人资料 🌐 - 全浏览器模拟以实现准确爬取 🛡️ - 浏览器指纹、人类行为模拟和隐身脚本 📊 - 个人资料信息、统计数据、图像和参与度数据 💾 - JSON/CSV 导出并下载缩略图 🔄 - 恢复中断的爬取会话 ⚡ - 自动跳过私人账户、关注者少、个人资料为空 🌍 - 内置住宅代理支持,支持 4 个提供商
获取 Google API 凭证(可选) 前往 Google Cloud Console 创建新项目或选择现有项目 启用“自定义搜索 API” 创建 API 凭证 → API 密钥 前往可编程搜索引擎 创建一个搜索引擎,使用 instagram.com 作为要搜索的网站 复制搜索引擎 ID
代理工具接口 对于 OpenClaw 代理集成,该技能提供 JSON 输出: # 发现个人资料(返回 JSON) discover --location "Miami" --category "fitness" --output json # 爬取单个个人资料(返回 JSON) scrape --username influencer123 --output json
输出数据 个人资料数据结构 { "username": "example_user", "full_name": "Example User", "bio": "Fashion blogger | NYC", "followers": 125000, "following": 1500, "posts_count": 450, "is_verified": false, "is_private": false, "influencer_tier": "mid", "category": "fashion", "location": "New York", "profile_pic_local": "thumbnails/example_user/profile_abc123.jpg", "content_thumbnails": [ "thumbnails/example_user/content_1_def456.jpg", "thumbnails/example_user/content_2_ghi789.jpg" ], "post_engagement": [ {"post_url": "https://instagram.com/p/ABC123/", "likes": 5420, "comments": 89} ], "scrape_timestamp": "2025-02-09T14:30:00" }
影响者等级 等级 关注者范围 nano < 1,000 micro 1,000 - 10,000 mid 10,000 - 100,000 macro 100,000 - 1M mega > 1,000,000
文件输出 队列文件:data/queue/{location}_{category}_{timestamp}.json 爬取数据:data/output/{username}.json 缩略图:thumbnails/{username}/profile_.jpg, thumbnails/{username}/content_.jpg 导出文件:data/export_{timestamp}.json, data/export_{timestamp}.csv
配置 编辑 config/scraper_config.json: { "proxy": { "enabled": false, "provider": "brightdata", "country": "", "sticky": true, "sticky_ttl_minutes": 10 }, "google_search": { "enabled": true, "api_key": "", "search_engine_id": "", "queries_per_location": 3 }, "scraper": { "headless": false, "min_followers": 1000, "download_thumbnails": true, "max_thumbnails": 6 }, "cities": ["New York", "Los Angeles", "Miami", "Chicago"], "categories": ["fashion", "beauty", "fitness", "food", "travel", "tech"] }
应用过滤器 爬虫自动过滤: ❌ 私人账户 ❌ 关注者少于 1,000 的账户(可配置) ❌ 无帖子的账户 ❌ 不存在/已删除的账户 ❌ 已爬取的账户(去重)
故障排除 登录问题 确保凭证正确 处理验证代码时的提示 等待如果速率限制(脚本将自动重试) 未发现个人资料 检查 Google API 密钥和配额 验证搜索引擎 ID 是否为 instagram.com 配置 尝试不同的位置/类别组合 速率限制 减少爬取速度(增加配置中的延迟) 在非高峰时段运行 使用住宅代理(见下文)
🌐 住宅代理支持 为什么使用住宅代理? 在没有住宅代理的情况下大规模运行爬虫将导致您的 IP 被阻止。以下是代理的原因: 优势 描述 避免 IP 封禁 住宅 IP 看起来像真实的家庭用户,而不是数据中心机器人。Instagram 不太可能标记它们。 自动 IP 旋转 每个请求(或会话)都会获得一个新的 IP,因此速率限制永远不会堆积在一个地址上。 地理定位 将流量路由到特定的国家/城市,因此爬取的内容与目标受众的区域相匹配。 粘性会话 在可配置的窗口(例如 10 分钟)内保持相同的 IP —— 这对于维护一致的浏览会话至关重要。 更高的成功率 旋转的住宅 IP 提供 95%+ 的成功率,而数据中心 IP 只有 ~30%。