ClawSkills logoClawSkills

Twitter Search

高级 Twitter 搜索和社交媒体数据分析。使用 Twitter API 按关键词获取推文,处理多达 1000 条结果,并生成专业报告

介绍

# Twitter Search and Analysis

## 概述

使用高级搜索语法在 Twitter 上搜索关键词,获取多达 1000 条相关推文,并分析数据以生成包含洞察、统计数据和可落地建议的专业报告。

## 前置条件

**需要 API 密钥**:用户必须从 https://twitterapi.io 配置其 Twitter API 密钥

可以通过三种方式提供 API 密钥: 1. **环境变量**(推荐):在您的 `~/.bashrc` 或 `~/.zshrc` 中设置 `TWITTER_API_KEY` ```bash echo 'export TWITTER_API_KEY="your_key_here"' >> ~/.bashrc source ~/.bashrc ``` 2. **作为参数**:在封装脚本中使用 `--api-key YOUR_KEY` 3. **直接传递**:作为 Python 脚本的第一个参数

## 快速开始

### 使用封装脚本(推荐)

封装脚本会自动处理环境变量加载和依赖检查:

```bash # Basic search (uses TWITTER_API_KEY from shell config) ./scripts/run_search.sh "AI"

# With custom API key ./scripts/run_search.sh "AI" --api-key YOUR_KEY

# With options ./scripts/run_search.sh "\"Claude AI\"" --max-results 100 --format summary

# Advanced query ./scripts/run_search.sh "from:elonmusk since:2024-01-01" --query-type Latest ```

### 直接使用 Python 脚本

```bash # Search for a keyword scripts/twitter_search.py "$API_KEY" "AI"

# Search with multiple keywords scripts/twitter_search.py "$API_KEY" "\"ChatGPT\" OR \"Claude AI\""

# Search from specific user scripts/twitter_search.py "$API_KEY" "from:elonmusk"

# Search with date range scripts/twitter_search.py "$API_KEY" "Bitcoin since:2024-01-01" ```

### 高级查询

```bash # Complex query: AI tweets from verified users, English only scripts/twitter_search.py "$API_KEY" "AI OR \"machine learning\" lang:en filter:verified"

# Recent crypto tweets with minimum engagement scripts/twitter_search.py "$API_KEY" "Bitcoin min_retweets:10 lang:en"

# From specific influencers scripts/twitter_search.py "$API_KEY" "from:elonmusk OR from:VitalikButerin since:2024-01-01" ```

### 输出格式

```bash # Full JSON with all tweets scripts/twitter_search.py "$API_KEY" "AI" --format json

# Summary with statistics (default) scripts/twitter_search.py "$API_KEY" "AI" --format summary ```

### 选项

- `--max-results N`:要获取的最大推文数(默认:1000) - `--query-type Latest|Top`:排序顺序(默认:Top 以获取相关性更高的结果) - `--format json|summary`:输出格式(默认:summary)

## 工作流程

### 1. 了解用户需求

明确分析目标: - 搜索什么主题/关键词? - 日期范围偏好? - 包含/排除哪些特定用户? - 语言偏好? - 需要的洞察类型(趋势、情绪、影响者)?

### 2. 构建搜索查询

使用 [Twitter 高级搜索](https://github.com/igorbrigadir/twitter-advanced-search) 语法:

| 语法 | 示例 | 描述 | |--------|---------|-------------| | `keyword` | `AI` | 单个关键词 | | `"phrase"` | `"machine learning"` | 精确短语 | | `OR` | `AI OR ChatGPT` | 任一术语 | | `from:user` | `from:elonmusk` | 来自特定用户 | | `to:user` | `to:elonmusk` | 回复特定用户 | | `since:DATE` | `since:2024-01-01` | 该日期之后 | | `until:DATE` | `until:2024-12-31` | 该日期之前 | | `lang:xx` | `lang:en` | 语言代码 | | `#hashtag` | `#AI` | 话题标签 | | `filter:links` | `filter:links` | 包含链接的推文 | | `min_retweets:N` | `min_retweets:100` | 最小转推数 |

### 3. 获取数据

执行搜索脚本:

```bash scripts/twitter_search.py "$API_KEY" "YOUR_QUERY" --max-results 1000 --query-type Top ```

**重要提示**:默认最多获取 1000 条推文。脚本会自动: - 遍历所有可用结果(分页) - 在 1000 条推文处停止(考虑 API 限制) - 优雅地处理错误

### 4. 分析并生成报告

获取数据后,生成一份全面的专业报告,包括:

#### 报告结构

1. **执行摘要**(2-3 句话) - 搜索内容 - 关键发现概述

2. **数据概览** - 分析的推文总数 - 数据日期范围 - 使用的查询参数

3. **关键指标** - 总互动量(点赞、转推、回复、引用、观看) - 平均每条推文互动量 - 语言分布 - 回复与原创推文比例

4. **热门内容分析** - 转推最多的推文(附带原始推文的 **URL 链接**) - 点赞最多的推文(附带原始推文的 **URL 链接**) - 热门话题标签及其频率 - 被提及最多的用户 - 精选推文示例及完整 URL 引用

5. **影响者分析** - 按粉丝数排名的热门用户 - 最活跃用户 - 认证用户占比

6. **趋势洞察**(基于数据模式) - 新兴主题 - 情绪指标 - 时间模式 - 对话驱动因素

7. **关键要点** - 3-5 条核心洞察的要点 - 基于数据的结论

8. **可落地的建议** - 具体、可实施的建议 - 基于数据发现 - 按影响力优先级排序

#### 分析指南

- **以数据为驱动**:每个主张都应引用实际指标 - **提供上下文**:解释指标为何重要 - **识别模式**:在整个数据集中寻找趋势 - **保持客观**:陈述事实,避免推测 - **具体明确**:建议应具体且可落地 - **考虑外部背景**:在相关时使用网络搜索获取背景信息

### 5. 输出格式

以清晰的 markdown 呈现报告: - 每个部分的标题 - 用于结构化数据的表格 - 用于列表的要点符号 - 用于关键指标的粗体 - 用于推文示例的代码块 - 所有引用推文的 **可点击 URL**(格式:`[@username](https://x.com/username/status/tweet_id)`)

#### 推文 URL 格式

始终包含指向推文的可点击链接: ```markdown | Author | Tweet | URL | |--------|-------|-----| | @user | Summary of tweet content | [View](https://x.com/user/status/123456) | ```

或内联格式: ```markdown - **@username**: Tweet summary - [View Tweet](https://x.com/username/status/123456) ```

## 按用例分类的查询示例

### 趋势分析 ``` "AI" OR "artificial intelligence" lang:en min_retweets:50 ```

### 竞争对手监控 ``` from:competitor1 OR from:competitor2 since:2024-01-01 ```

### 产品发布跟踪 ``` #ProductName OR "Product Name" lang:en filter:verified ```

### 危机监控 ``` #BrandName OR "Brand Name" lang:en --query-type Latest ```

### 影响者发现 ``` #Topic lang:en min_retweets:100 min_faves:500 ```

### 情绪分析 ``` "brand name" OR #BrandName lang:en --max-results 1000 ```

## 资源

### scripts/run_search.sh(封装脚本)

用于处理环境变量加载和依赖检查的便捷封装脚本: - 自动从 `~/.bashrc` 或 `~/.zshrc` 加载 `TWITTER_API_KEY` - 检查 Python 可用性并安装缺失的依赖 - 提供用户友好的错误消息 - 支持 Python 脚本的所有命令行选项

**用法**: ```bash ./scripts/run_search.sh <query> [options] ```

**选项**: - `--api-key KEY`:覆盖环境变量 API 密钥 - `--max-results N`:要获取的最大推文数(默认:1000) - `--query-type Latest|Top`:排序顺序(默认:Top) - `--format json|summary`:输出格式(默认:json)

### scripts/twitter_search.py

可执行的 Python 脚本,用于: - 从 Twitter API 获取推文 - 自动处理分页 - 提取关键推文指标 - 计算汇总统计数据 - 输出结构化的 JSON 数据

**用法**: ```bash scripts/twitter_search.py <api_key> <query> [options] ```

### references/twitter_api.md

综合 API 文档,包括: - 完整参数参考 - 查询语法指南 - 响应结构详情 - 分页说明 - 分析最佳实践 - 错误处理指南

**阅读时机**:构建复杂查询或理解数据结构时。

## 改进分析的技巧

1. **使用 Top 查询类型**进行趋势分析(结果更相关) 2. **设置日期过滤器**以获取及时的洞察 3. **按语言过滤**以进行准确的文本分析 4. **包含最小互动量**以过滤噪音 5. **结合网络搜索**以验证趋势 6. **超越指标**——分析内容主题 7. **跟踪话题标签**以识别子对话 8. **结合粉丝数和互动量**识别影响者

## 错误处理

如果脚本失败: - 检查 API 密钥有效性 - 验证查询语法 - 确保网络连接正常 - 检查速率限制(如适用) - 查看错误消息以了解具体问题

更多产品