Instagram Scraper
2026-03-30
新闻来源:网淘吧
围观:11
电脑广告
手机广告
Instagram 个人资料抓取工具
一款基于浏览器的 Instagram 个人资料发现与抓取工具。
隶属于ScrapeClaw——一套基于 Python 和 Playwright 构建、无需 API 密钥、可用于生产环境的智能化社交媒体抓取工具套件,支持 Instagram、YouTube、X/Twitter 和 Facebook。
---
name: instagram-scraper
description: Discover and scrape Instagram profiles from your browser.
emoji: 📸
version: 1.0.6
author: influenza
tags:
- instagram
- scraping
- social-media
- influencer-discovery
metadata:
clawdbot:
requires:
bins:
- python3
- chromium
config:
stateDirs:
- data/output
- data/queue
- thumbnails
outputFormats:
- json
- csv
---
概述
此技能提供了一个两阶段的 Instagram 抓取系统:
- 个人资料发现
- 浏览器抓取
功能特性
- 🔍 - 根据地理位置和类别发现 Instagram 个人资料
- 🌐 - 完整的浏览器模拟,实现精准抓取
- 🛡️ - 浏览器指纹伪装、人类行为模拟和隐形脚本
- 📊 - 个人资料信息、统计数据、图片和互动数据
- 💾 - JSON/CSV 格式导出,并下载缩略图
- 🔄 - 恢复中断的抓取会话
- ⚡ - 自动跳过私密账户、低粉丝数账户和空账户
- 🌍 - 内置住宅代理支持,集成 4 家服务商
获取谷歌API凭据(可选)
- 前往谷歌云控制台
- 创建新项目或选择现有项目
- 启用"自定义搜索API"
- 创建API凭据 → API密钥
- 前往可编程搜索引擎
- 创建一个搜索引擎,将
instagram.com设为要搜索的网站 - 复制搜索引擎ID
使用方法
代理工具接口
对于OpenClaw代理集成,该技能提供JSON输出:
# Discover profiles (returns JSON)
discover --location "Miami" --category "fitness" --output json
# Scrape single profile (returns 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"
}
网红层级
| 层级 | 粉丝数范围 |
|---|---|
| 纳米级 | < 1,000 |
| 微型 | 1,000 - 10,000 |
| 中 | 10,000 - 100,000 |
| 宏观 | 100,000 - 1,000,000 |
| 超大 | > 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地址——这对于维持一致的浏览会话至关重要。 |
| 更高的成功率 | 与数据中心代理在Instagram上约30%的成功率相比,使用轮换住宅IP可获得95%以上的成功率。 |
| 长时间持续抓取 | 可连续数小时或数天抓取数千个用户资料,过程不间断。 |
| 并发抓取 | 可同时在不同IP地址上运行多个浏览器实例。 |
推荐代理服务商
我们与顶尖的住宅代理服务商建立了联盟合作关系。使用以下链接将支持本技能的持续开发:
| 服务商 | 最佳适用场景 | 注册 |
|---|---|---|
| Bright Data | 全球最大网络,拥有7200万+ IP地址,企业级服务 | 👉获取Bright Data |
| IProyal | 按需付费,覆盖195+国家/地区,流量无有效期限制 | 👉获取IProyal |
| Storm Proxies | 快速可靠,开发者友好的API,具有竞争力的价格 | 👉获取 Storm Proxies |
| NetNut | ISP 级网络,5200万+ IP,直连 | 👉获取 NetNut |
设置步骤
1. 获取您的代理凭证
使用上方任一提供商注册,然后获取:
- 用户名(来自您的提供商仪表板)
- 密码(来自您的提供商仪表板)
- 主机和端口已按提供商预配置(或使用自定义设置)
2. 通过环境变量配置
export PROXY_ENABLED=true
export PROXY_PROVIDER=brightdata # brightdata | iproyal | stormproxies | netnut | custom
export PROXY_USERNAME=your_user
export PROXY_PASSWORD=your_pass
export PROXY_COUNTRY=us # optional: two-letter country code
export PROXY_STICKY=true # optional: keep same IP per session
3. 特定提供商的默认主机/端口
当您设置了提供商名称时,这些会自动配置:
| 提供商 | 主机 | 端口 |
|---|---|---|
| Bright Data | brd.superproxy.io | 22225 |
| IProyal | proxy.iproyal.com | 12321 |
| Storm Proxies | rotating.stormproxies.com | 9999 |
| NetNut | gw-resi.netnut.io | 5959 |
使用环境变量覆盖PROXY_HOST/PROXY_PORT如果您的方案使用不同的网关。
4. 自定义代理提供商
对于任何其他代理服务,请将提供商设置为custom并手动提供主机/端口:
{
"proxy": {
"enabled": true,
"provider": "custom",
"host": "your.proxy.host",
"port": 8080,
"username": "user",
"password": "pass"
}
}
使用代理运行爬虫
配置完成后,爬虫会自动使用代理——无需额外标志:
# Discover and scrape as usual — proxy is applied automatically
python main.py discover --location "Miami" --category "fitness"
python main.py scrape --username influencer123
# The log will confirm proxy is active:
# INFO - Proxy enabled: <ProxyManager provider=brightdata enabled host=brd.superproxy.io:22225>
# INFO - Browser using proxy: brightdata → brd.superproxy.io:22225
以编程方式使用代理管理器
from proxy_manager import ProxyManager
# From config (auto-reads config/scraper_config.json)
pm = ProxyManager.from_config()
# From environment variables
pm = ProxyManager.from_env()
# Manual construction
pm = ProxyManager(
provider="brightdata",
username="your_user",
password="your_pass",
country="us",
sticky=True
)
# For Playwright browser context
proxy = pm.get_playwright_proxy()
# → {"server": "http://brd.superproxy.io:22225", "username": "user-country-us-session-abc123", "password": "pass"}
# For requests / aiohttp
proxies = pm.get_requests_proxy()
# → {"http": "http://user:pass@host:port", "https": "http://user:pass@host:port"}
# Force new IP (rotates session ID)
pm.rotate_session()
# Debug info
print(pm.info())
长时间运行爬虫的最佳实践
- 使用粘性会话——Instagram要求在浏览会话期间保持IP地址的一致性。请设置
"sticky": true。 - 定位正确的国家——设置
"country": "us"(或您的目标区域),以便Instagram提供预期语言环境的内容。 - 结合现有的反检测措施——此爬虫已具备指纹识别、隐身脚本和人类行为模拟功能。代理是最后一层防护。
- 在批次间轮换会话——在爬取大量用户档案之间,调用
pm.rotate_session()以获取新的IP地址。 - 使用延迟——即使使用代理,也应遵守配置中的
delay_between_profiles设置,避免产生过于频繁的访问模式。 - 监控您的代理仪表板— 所有供应商都提供显示带宽使用情况和成功率的仪表板。
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Tmux Agents
下一篇:Business Plan



微信扫一扫,打赏作者吧~