返回市场twitter
v4.0.0MIT
T
by XBrowser Team
X (Twitter) 数据采集插件(XHR 拦截模式)
0 次下载 0.0 (0 条评价) 更新于 1/1/1970
Free
xbrowser plugin install xbrowser-plugin-twitter
README
# XBrowser Twitter Plugin
X (Twitter) 数据采集插件 - 支持推文搜索、用户资料、时间线、回复等功能,针对高影响力账号优化
## 安装方式
插件已内置在 XBrowser 中,无需额外安装。
## 前置要求
- Chrome 浏览器
- CDP 连接(`--cdp 9221`)
- 登录态(可选,用于访问受保护内容)
## 命令列表
### 1. search - 搜索推文
搜索包含关键词的推文。
**参数:**
- `--query` - 搜索关键词(必需)
- `--limit` - 返回推文数量(默认:20)
**示例:**
```bash
xbrowser --cdp 9221 twitter search --query "OpenAI" --limit 20
```
### 2. profile - 获取用户资料
获取指定用户的完整资料信息。
**参数:**
- `--username` - 用户名(必需,不含 @)
**示例:**
```bash
xbrowser --cdp 9221 twitter profile --username "elonmusk"
```
### 3. timeline - 获取用户时间线
获取指定用户最近的推文时间线。
**参数:**
- `--username` - 用户名(必需)
- `--limit` - 返回推文数量(默认:10)
**示例:**
```bash
xbrowser --cdp 9221 twitter timeline --username "elonmusk" --limit 10
```
### 4. timeline-advanced - 高级时间线(推荐)
针对高影响力账号优化的高级时间线功能,提供更强的数据解析能力和稳定性。
**参数:**
- `--username` - 用户名(必需)
- `--limit` - 返回推文数量(默认:30)
- `--useLogin` - 使用登录态(可选,提高成功率)
**示例:**
```bash
# 马斯克时间线
xbrowser --cdp 9221 twitter timeline-advanced --username "elonmusk" --limit 30
# 川普时间线(使用登录)
xbrowser --cdp 9221 twitter timeline-advanced --username "realdonaldtrump" --useLogin
```
### 5. tweets - 获取单条推文详情
获取指定推文的完整信息。
**参数:**
- `--tweetId` - 推文 ID(必需)
**示例:**
```bash
xbrowser --cdp 9221 twitter tweets --tweetId "1234567890"
```
### 6. replies - 获取推文回复
获取指定推文的所有回复。
**参数:**
- `--tweetId` - 推文 ID(必需)
- `--maxPages` - 最大翻页数(默认:10)
**示例:**
```bash
xbrowser --cdp 9221 twitter replies --tweetId "1234567890" --maxPages 10
```
## 高影响力账号优化
插件自动识别以下高影响力账号并应用优化策略:
- **@elonmusk** - 埃隆·马斯克
- **@realdonaldtrump** - 唐纳德·川普
- **@realdonaldtrump_backup** - 川普备用账号
优化内容包括:
- **多级选择器策略** - 提高抓取稳定性,应对 DOM 变化
- **动态等待机制** - 优化性能,智能等待内容加载
- **人类行为模拟** - 降低被检测风险,模拟真实用户操作
- **增强数据解析能力** - 提高数据提取准确性
## 数据结构
所有命令返回 JSON 格式数据,结构如下:
### 推文数据
```json
{
"id": "推文ID",
"author": "作者名称",
"handle": "@用户名",
"text": "推文内容",
"time": "发布时间",
"link": "推文链接",
"replies": "回复数",
"retweets": "转推数",
"likes": "点赞数",
"views": "浏览数"
}
```
### 用户资料
```json
{
"name": "显示名称",
"handle": "@用户名",
"bio": "简介",
"following": "关注数",
"followers": "粉丝数",
"verified": "是否认证"
}
```
## 常见问题
### Q: CDP 连接失败怎么办?
**A:** 确保使用 `--cdp 9221` 参数,并先启动 Chrome 的远程调试:
```bash
# macOS/Linux
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9221
# 或使用 xbrowser 内置命令
xbrowser chrome --cdp 9221
```
### Q: 如何提高抓取成功率?
**A:** 使用 `timeline-advanced` 命令,并添加 `--useLogin` 参数:
```bash
xbrowser --cdp 9221 twitter timeline-advanced --username "elonmusk" --useLogin
```
### Q: 数据不完整?
**A:** 尝试以下方法:
- 增加 `--limit` 参数值
- 使用 `--useLogin` 参数
- 检查网络连接
### Q: 被限流或封号?
**A:**
- 降低请求频率
- 使用 `--session` 参数隔离不同任务
- 添加人类行为模拟间隔
## Session 管理
使用 `--session` 参数可以隔离不同的抓取任务,避免状态污染:
```bash
# 任务 1:搜索 OpenAI
xbrowser --cdp 9221 --session task1 twitter search --query "OpenAI"
# 任务 2:搜索 AI(独立浏览器实例)
xbrowser --cdp 9221 --session task2 twitter search --query "AI"
```
每个 session 使用独立的浏览器实例,互不干扰。
## 完整使用示例
```bash
# 1. 搜索推文
xbrowser --cdp 9221 twitter search --query "OpenAI" --limit 20
# 2. 获取用户资料
xbrowser --cdp 9221 twitter profile --username "elonmusk"
# 3. 获取用户时间线
xbrowser --cdp 9221 twitter timeline --username "elonmusk" --limit 10
# 4. 获取高影响力账号时间线(推荐)
xbrowser --cdp 9221 twitter timeline-advanced --username "elonmusk" --limit 30
xbrowser --cdp 9221 twitter timeline-advanced --username "realdonaldtrump" --useLogin
# 5. 获取单条推文详情
xbrowser --cdp 9221 twitter tweets --tweetId "1234567890"
# 6. 获取推文回复
xbrowser --cdp 9221 twitter replies --tweetId "1234567890" --maxPages 10
# 7. 使用 session 隔离
xbrowser --cdp 9221 --session task1 twitter search --query "OpenAI"
xbrowser --cdp 9221 --session task2 twitter search --query "AI"
```
## 技术特性
- **Zod 数据验证** - 确保返回数据结构正确
- **多级选择器** - 应对 DOM 变化,提高稳定性
- **智能等待** - 动态等待内容加载,优化性能
- **错误处理** - 友好的错误提示和恢复机制
- **Session 隔离** - 支持多任务并行,避免状态污染
## 许可证
MIT License
命令
search
search搜索 X/Twitter 推文(API 拦截模式)
Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | Yes | 搜索关键词 |
| limit | number | No | (10) |
Examples
xbrowser twitter search --query "OpenAI"
搜索 OpenAI 相关推文
xbrowser twitter search --help
profile
profile获取 X/Twitter 用户资料(API 拦截模式,含丰富指标)
Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | Yes | 用户名(不含 @) |
Examples
xbrowser twitter profile --username "elonmusk"
获取 Elon Musk 资料
xbrowser twitter profile --help
timeline
timeline获取 X/Twitter 用户最新推文(API 拦截模式,含 views/bookmarks 等)
Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | Yes | 用户名(不含 @) |
| limit | number | No | (5) |
Examples
xbrowser twitter timeline --username "elonmusk"
获取 Elon Musk 最新推文
xbrowser twitter timeline --help
replies
replies获取推文的回复(API 拦截模式)
Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | Yes | 推文 ID |
| limit | number | No | (5) |
Examples
xbrowser twitter replies --id "123456789"
获取推文回复
xbrowser twitter replies --help
liked
liked获取用户点赞的推文
Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | Yes | 用户名(不含 @) |
| limit | number | No | (5) |
Examples
xbrowser twitter liked --username "elonmusk"
获取 Elon Musk 点赞
xbrowser twitter liked --help