Learn-skills.dev x-scraper
Scrape public posts from X.com (Twitter) users. Extracts text content, timestamps, engagement metrics (views, likes, retweets, replies), and generates direct post links. Use when user asks to scrape/fetch/analyze X.com posts or Twitter data, or mentions "整理@某人的发言" or "看看某人在X上说了什么".
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aatrooox/blog.zzao.club/x-scraper" ~/.claude/skills/neversight-learn-skills-dev-x-scraper && rm -rf "$T"
manifest:
data/skills-md/aatrooox/blog.zzao.club/x-scraper/SKILL.mdsource content
X.com Post Scraper
Extracts recent posts from X.com users with full engagement data using authenticated cookies.
Quick Start
Basic command:
cd .opencode/skills/x-scraper/scripts python3 scraper.py <username> [count]
Example:
python3 scraper.py example_user 15
Output:
/tmp/x_{username}_posts.json
Prerequisites
Before first use, verify environment requirements:
- Python 3.11+: Check with
python3 --version - Playwright: Check with
python3 -c "import playwright" - Cookie file: Check with
ls /tmp/x_cookies_pw.json
If any prerequisite is missing, see references/setup.md for detailed installation and configuration guide.
Common Workflows
First-time setup
See references/setup.md for complete environment configuration.
Daily scraping
python3 scraper.py <username> [count]
Custom cookie file
python3 scraper.py <username> [count] --cookie-file /path/to/cookies.json
Troubleshooting
If scraper fails, see references/troubleshooting.md for common issues and solutions.
Output Format
{ "index": 1, "username": "example_user", "postId": "1234567890123456789", "publishTime": "2025-12-03T18:28:32.000Z", "postLink": "https://x.com/example_user/status/1234567890123456789", "textContent": "Post text content...", "views": "471K", "likes": "1.1K", "retweets": "153", "replies": "44" }
Key fields:
- Direct URL to postpostLink
- ISO 8601 timestamppublishTime
- Abbreviated metrics (K, M)views/likes/retweets/replies
When to Use This Skill
Trigger when user requests:
- "整理 @某人 最近的发言"
- "看看某人在X上说了什么"
- "Scrape X.com posts from @username"
- "Get latest tweets from user"
- "Analyze X user's recent posts"
Available Scripts
scraper.py
- Main scraper
scraper.pypython3 scraper.py <username> [count] [--cookie-file <path>]
- Scrapes user timeline with replies
- Default count: 10 posts
- Default cookie:
/tmp/x_cookies_pw.json
convert_cookies.py
- Cookie converter
convert_cookies.pypython3 convert_cookies.py <input-file> [output-file]
- Converts Cookie-Editor JSON to Playwright format
- Required before first scraping
Reference Documents
- setup.md - Complete environment setup guide (Python, Playwright, cookies)
- troubleshooting.md - Error diagnosis and solutions
- usage.md - Detailed usage examples and advanced options
Limitations
- Requires X.com authentication cookies
- Cookies expire (~7 days), need re-export
- Rate limits may apply
- Cannot access private/protected accounts