Skip to main content

twitter-fetcher

用户要求抓取某个 Twitter 用户的推文,用户要求搜索 Twitter 上的特定关键词,用户提到 "拉取推文"、"抓取 Twitter"、"获取推特上关于XX的讨论或者 用户提供 Twitter 用户名并希望获取其推文的时候进行调用

Source facts

Repository
AichaelLee/-SKILL
Last source activity
March 28, 2026 at 05:54
Detected SKILL.md language
Chinese
Stars
44
Forks
13

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
twitter-fetcher
description
用户要求抓取某个 Twitter 用户的推文,用户要求搜索 Twitter 上的特定关键词,用户提到 "拉取推文"、"抓取 Twitter"、"获取推特上关于XX的讨论或者 用户提供 Twitter 用户名并希望获取其推文的时候进行调用
# Twitter Fetcher 抓取 Twitter 推文数据,支持用户模式和关键词搜索模式。数据自动保存到数据库。 --- ## 智能参数解析指南 当用户提出抓取需求时,你需要根据用户的自然语言描述,智能解析以下参数: ### 1. 采集数量智能判断 根据用户需求自动设置采集数量: | 用户意图 | 推荐数量 | 示例 | |---------|---------|------| | 快速浏览/测试 | 100-300 | "帮我看看最近的推文"、"简单查一下" | | 日常采集 | 500-800 | "抓取推文"、"获取数据" | | 深度分析 | 1000-1500 | "全面分析"、"深入了解"、"数据分析" | | 大规模采集 | 1500-3000 | "尽可能多"、"全部推文"、"大量数据" | **如果用户未指定数量,默认使用 200 条。** ### 2. 排序维度解析 | 用户表述 | 参数值 | 说明 | |---------|--------|------| | "最新"、"最近"、"新发布" | `--type Latest` | 按时间倒序(默认) | | "热门"、"火爆"、"高互动"、"爆款" | `--type Top` | 按互动量排序 | ### 3. 高级查询条件 脚本支持 Twitter 搜索操作符,可组合使用: | 操作符 | 说明 | 示例 | |--------|------|------| | `--since` | 开始日期 | `--since 2024-01-01` | | `--until` | 结束日期 | `--until 2024-12-31` | | `--lang` | 语言过滤 | `--lang zh`(中文)、`--lang en`(英文) | | `--min-faves` | 最少点赞数 | `--min-faves 100` | | `--min-retweets` | 最少转推数 | `--min-retweets 50` | | `--filter` | 内容过滤 | `images`(含图片)、`videos`(含视频)、`links`(含链接) | | `--exclude` | 排除内容 | `replies`(排除回复)、`retweets`(排除转推) | | `--verified` | 仅认证用户 | 添加此参数仅获取蓝V用户推文 | ### 4. 条件解析示例 **示例 1**: "帮我查询最近一周关于 AI 的热门推文" ```bash python3 scripts/fetch_tweets.py -k "AI" --type Top --since 2024-01-12 --max-tweets 800 ``` **示例 2**: "抓取 @elonmusk 最近的推文" ```bash python3 scripts/fetch_tweets.py -u elonmusk --max-tweets 800 ``` **示例 3**: "搜索 ChatGPT 相关的高质量推文,点赞超过 1000" ```bash python3 scripts/fetch_tweets.py -k "ChatGPT" --min-faves 1000 --type Top --max-tweets 500 ``` **示例 4**: "获取某用户的原创推文,不要转推和回复" ```bash python3 scripts/fetch_tweets.py -u username --exclude replies --exclude retweets --max-tweets 1000 ``` **示例 5**: "大规模采集 AI Agent 领域的推文做研究" ```bash python3 scripts/fetch_tweets.py -k "AI Agent" --type Latest --max-tweets 3000 ``` --- ## 使用方法 ### 抓取用户推文 ```bash # 抓取用户最近推文(自动保存到数据库) python3 scripts/fetch_tweets.py -u <username> # 指定数量 python3 scripts/fetch_tweets.py -u <username> --max-tweets 500 # 带时间范围 python3 scripts/fetch_tweets.py -u <username> --since 2024-01-01 --until 2024-06-30 ``` ### 搜索关键词 ```bash # 搜索关键词 python3 scripts/fetch_tweets.py -k "AI agent" --max-tweets 500 # 搜索热门推文 python3 scripts/fetch_tweets.py -k "ChatGPT" --type Top # 带过滤条件 python3 scripts/fetch_tweets.py -k "AI" --min-faves 100 --lang en --type Top ``` ### 完整参数说明 | 参数 | 说明 | 默认值 | |------|------|--------| | `-u, --user` | Twitter 用户名(不含 @) | - | | `-k, --keyword` | 搜索关键词 | - | | `--max-tweets` | 最大推文数量 | 800 | | `--type` | 搜索类型:Latest(最新)或 Top(热门) | Latest | | `--since` | 开始日期 (YYYY-MM-DD) | - | | `--until` | 结束日期 (YYYY-MM-DD) | - | | `--lang` | 语言代码 (zh/en/ja 等) | - | | `--min-faves` | 最少点赞数 | - | | `--min-retweets` | 最少转推数 | - | | `--filter` | 内容过滤 (images/videos/links),可多次使用 | - | | `--exclude` | 排除内容 (replies/retweets),可多次使用 | - | | `--verified` | 仅获取认证用户推文 | False | ## 数据库字段 `tweets` 表包含以下字段: | 字段 | 说明 | |------|------| | `tweet_id` | 推文 ID | | `created_at` | 发布时间 | | `text` | 推文内容 | | `lang` | 语言 | | `source` | 发布来源 | | `favorites` | 点赞数 | | `retweets` | 转推数 | | `replies` | 回复数 | | `quotes` | 引用数 | | `bookmarks` | 书签数 | | `views` | 浏览量 | | `conversation_id` | 会话 ID | | `author_id` | 作者 ID | | `author_name` | 作者显示名 | | `author_screen_name` | 作者用户名 | | `author_avatar` | 作者头像 | | `author_blue_verified` | 蓝V认证 | | `has_media` | 是否有媒体 | | `media_count` | 媒体数量 | | `has_quoted` | 是否引用推文 | | `quoted_tweet_id` | 引用推文 ID | | `quoted_author_name` | 引用推文作者 | | `quoted_text` | 引用推文内容 | | `hashtags` | 话题标签 (JSON) | | `urls` | 链接 (JSON) | | `user_mentions` | 用户提及 (JSON) | | `is_pinned` | 是否置顶 | | `fetch_time` | 抓取时间 | ## 注意事项 - 数据自动保存到数据库,重复数据会自动跳过 - 脚本会自动处理分页,直到达到目标数量或无更多推文 - 连续 3 页无新推文时自动停止 - 请求间隔 0.3 秒,避免 API 限流 - 遇到 429 限流会自动等待并重试
View on GitHub