
About
A desktop app that scrapes trending captions from your X home feed using AdsPower browser profiles, filters them with customizable blocklists, and automatically logs results to Google Sheets. It also auto-likes top-performing posts and supports scheduled scraping via cron jobs.
Tech Stack
ElectronTypeScriptExpressPlaywrightGoogle Sheets APIPocketBaseWebSockets
Info
- Category
- Tool
- Status
- LIVE
- Technologies
- 7
Architecture
Code Preview
TypeScriptscraper.ts
1async function scrapeFeed(profile: BrowserProfile) {2const browser = await adspower.connect(profile.id);3const page = await browser.newPage();45await page.goto("https://x.com/home");6await page.waitForSelector('[data-testid="tweet"]');78const tweets = await page.$$eval(9'[data-testid="tweet"]',10(els) => els.map((el) => ({11text: el.querySelector('[lang]')?.textContent,12likes: parseMetric(el, "like"),13retweets: parseMetric(el, "retweet"),14views: parseMetric(el, "analytics"),15}))16);1718const filtered = tweets.filter(19(t) => !blocklist.some((b) => t.text?.includes(b))20);2122await sheets.append(profile.sheetId, filtered);23return filtered;24}