~/social/bluesky-scraper
Bluesky Scraper——帖子、主页资料、动态与互动数据
通过 AT Protocol 提取 Bluesky 的帖子、主页资料、关注者、动态、话题串、点赞者与转发者数据——并支持通过 App Password 进行已登录搜索与话题标签查询。输出干净、规范化的 JSON。
社交
TypeScriptAT Protocol
全球
分类social / 社交
语言TypeScript
技术栈TypeScript, AT Protocol
市场全球
输出干净、RAG 就绪的 JSON
核心特性
十一种模式——search、profile、posts、followers、following、feed、thread、likers、reposters、actorLikes 与 hashtag
面向 profiles、posts、followers、following、feeds、threads、likers、reposters 的公开 API,无需凭证
需要 App Password 认证的模式——search、hashtag,以及你自己账户的点赞记录
帖子互动数据导出——每条帖子完整的点赞者与转发者列表
话题串展平——按可配置深度遍历回复树
所有列表端点均自动进行游标分页,直到达到你设置的条目上限
所有模式下帖子与主页资料均采用统一规范化的 JSON 结构
健壮的 HTTP 请求机制——请求节流、指数退避,并在 429/5xx 时自动重试
应用场景
- 通过已登录搜索进行品牌与关键词监控
- 追踪全站范围内的话题标签与热点趋势
- 受众数据导出——创作者或品牌的粉丝与关注列表
- 互动分析——精确追踪谁点赞或转发了某条帖子
- 基于干净、规范化的 JSON 构建面向 BI、分析或 RAG 管道的数据集
- 归档某条帖子下的对话与话题串
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
mode | string | 可选 | 要抓取的内容:posts、profile、followers、following、feed、thread、likers、reposters、actorLikes、search 或 hashtag(默认:posts)。 |
handles | array | 可选 | 用于 profile/posts/followers/following/actorLikes 模式的 Bluesky 账号 handle,例如 bsky.app。 |
query | string | 可选 | 搜索文本(search 模式)或话题标签(hashtag 模式——会自动添加 # 前缀)。 |
postUri | string | 可选 | 帖子的 AT URI——用于 thread、likers 和 reposters 模式。 |
feedUri | string | 可选 | 自定义动态的 AT URI——用于 feed 模式。 |
identifier | string | 可选 | 用于已登录模式(search、hashtag、actorLikes)的 Bluesky 登录 handle/邮箱。 |
appPassword | string | 可选 | 用于已登录模式的 Bluesky App Password(不是你的主账户密码)。 |
maxItems | number | 可选 | 最多保存的 posts/profiles 数量;每条计为一次计费事件(默认:100)。 |
输出示例
1{
2 "itemType": "post",
3 "mode": "posts",
4 "uri": "at://did:plc:.../app.bsky.feed.post/...",
5 "author": {
6 "did": "did:plc:...",
7 "handle": "bsky.app",
8 "displayName": "Bluesky",
9 "followersCount": 1234567
10 },
11 "text": "Example post text",
12 "createdAt": "2026-06-11T00:00:00Z",
13 "replyCount": 10,
14 "repostCount": 20,
15 "likeCount": 100,
16 "langs": ["en"],
17 "url": "https://bsky.app/profile/bsky.app/post/..."
18}
价格
按事件计费:每条保存的记录(帖子或主页资料)收费 $0.001。导出 1,000 条约为 $1.00,maxItems 可同时限制导出量与费用上限。
使用建议
- 优先使用公开模式。 profiles、posts、followers 以及互动数据(likers/reposters)都无需登录——把 App Password 认证留给 search 和 hashtag 模式使用。
- 不要只导出帖子,也导出互动数据。 likers 和 reposters 模式能精确呈现是谁扩散了一条帖子——这是大多数 Bluesky 爬虫都会忽略的信号。
- 为大账户的 follower/following 拉取设置
maxItems上限,以保证运行速度与成本可预测。
常见问题
我需要 Bluesky 凭证吗?
只有 search、hashtag 和 actorLikes 模式才需要——在 Bluesky 设置中生成一个 App Password,作为 appPassword 传入即可。profile、posts、followers、following、feed、thread、likers 和 reposters 模式都可以通过公开的 AT Protocol API 在无凭证的情况下正常工作。
我可以导出任意账户的点赞记录吗?
不可以。Bluesky 的 API 只对已登录账户本身暴露 actorLikes 数据,因此 handle 与登录 identifier 必须指向同一个账户。
如何获取帖子或动态的 URI?
AT URI 的形式类似 at://did:plc:.../app.bsky.feed.post/...——可以从 Bluesky 的 API 输出或开发者工具中复制获得。动态 URI 使用的是 app.bsky.feed.generator 集合。
使用 App Password 安全吗?
安全——请使用 Bluesky 的 App Password(在 Settings → App Passwords 中创建),切勿使用主密码。它是限定权限范围、可随时撤销的凭证,并以密文(secret)方式传入。
~/social 下的相关工具
媒体
YouTube Subtitle & Transcript Scraper——JSON、SRT、VTT、LLM 多格式输出
YouTube 文字稿,输出 JSON、SRT、VTT 或适合 LLM 使用的文本。
打开