Ruka hadi maudhui makuu
Mafunzo ya AI

Jenga Kisakaji Binafsi cha X Bila API kwa Playwright

Jifunze jinsi ya kusakinisha na kutumia x-scraper-no-api, CLI ya Node.js na Playwright inayojihudumia yenyewe kwa kuhamisha utafutaji wa umma wa X, ratiba za machapisho na majibu ya machapisho kama JSON, JSONL, CSV au Markdown bila funguo za API au huduma za wahusika wengine.

Jenga Kisakaji Binafsi cha X Bila API kwa Playwright

x-scraper-no-api Inachofanya

x-scraper-no-api hubadilisha kivinjari cha Chromium kilichoidhinishwa kwenye mashine yako kuwa mfumo wa data kwa maudhui ya umma ya X. Baada ya kuingia mwenyewe mara moja, zana ya mstari wa amri inaweza kukusanya matokeo ya utafutaji, ratiba za umma, na chapisho pamoja na majibu yake ya umma.

Matokeo huandikwa moja kwa moja kwenye mashine yako katika miundo ya json, jsonl, csv, au md. Mradi hautumii ufunguo wa API wa X, huduma ya scraper inayopangishwa, proksi, au relay ya wahusika wengine.

Sifa Muhimu

  • Hakuna funguo za API au akaunti ya msanidi: tumia kipindi chako cha kivinjari badala ya mpango rasmi wa API.
  • Uthibitishaji wa mwongozo: unaingia mwenyewe, na zana haishughulikii nenosiri lako au misimbo ya uthibitishaji wa hatua mbili.
  • Kipindi endelevu: wasifu wa kivinjari huhifadhiwa katika ~/.xscraper/, hivyo utekelezaji wa baadaye unaweza kufanyika bila kuonyesha kivinjari.
  • Utafutaji wa hali ya juu wa X: tumia waendeshaji kama vile from:, since:, until:, min_faves:, filter:media, na lang:.
  • Matokeo yaliyo tayari kwa LLM: Markdown imeundwa kwa muktadha unaotumia tokeni kwa ufanisi kwa mawakala wa AI, huku JSON, JSONL, na CSV zikiunga mkono utendakazi wa programu.
  • Uchanganuzi thabiti: scraper hunasa data iliyopangwa ya GraphQL inayotumwa kwenye kiolesura cha mbele cha X badala ya kutegemea majina dhaifu ya madarasa ya HTML.
  • Vikomo vya kiungwana: utekelezaji hutumia kasi inayofanana na ya binadamu, vikomo vya juu vya vipengee, na kupunguza kasi kiotomatiki X inapoashiria mzigo mkubwa.
  • Msaada kwa mawakala: hazina inajumuisha Skill kwa OpenClaw, Hermes, na mawakala wengine wenye uwezo wa kutumia CLI.

Usakinishaji na Usanidi wa Mara ya Kwanza

1. Sakinisha zana za ujenzi za macOS

Kwenye macOS, sakinisha Xcode Command Line Tools kwa sababu vitegemezi asilia vinaweza kuhitaji zana hizo.

xcode-select --install

2. Sakinisha Node.js

Sakinisha Node.js 18 au mpya zaidi kwa kutumia kisakinishi rasmi au kidhibiti cha matoleo. Mradi unahitaji Node.js 18 au baadaye. Tembelea ukurasa wa upakuaji wa Node.js ili kuanza.

3. Sakinisha scraper kutoka GitHub

Unda saraka ya kazi, ingia ndani yake, kisha sakinisha kifurushi moja kwa moja kutoka kwenye hazina:

mkdir -p 'xscraper' && cd 'xscraper' && npm install github:JoinArtisanVent/x-scraper-no-api

4. Sakinisha Chromium kwa Playwright

Pakua kivinjari cha Chromium kinachotumiwa na Playwright:

npx playwright install chromium

5. Ingia mwenyewe

Anzisha mchakato wa kuingia wa mara moja:

npx xscraper login

Dirisha halisi la kivinjari litafunguka. Ingia kwenye X mwenyewe, ukiwemo uthibitishaji wowote unaohitajika wa hatua mbili. Zana huhifadhi kipindi cha kivinjari kilichopatikana hapa kwenye ~/.xscraper/. Haipokei wala kuchakata vitambulisho vyako.

Tumia akaunti ya X ambayo uko tayari kuitumia kwa kuvinjari. Zana hii inasaidia machapisho ya umma pekee na haitumii akaunti zilizolindwa, ujumbe wa moja kwa moja, au maudhui yenye vikwazo.

Matumizi ya Msingi

Tafuta kwenye X kwa waendeshaji wa hali ya juu

Pitisha usemi kamili wa utafutaji wa X kwenye amri ya search. Mfano huu hupata machapisho kutoka OpenAI baada ya tarehe fulani yenye angalau likes 500 na kurudisha Markdown:

xscraper search "from:openai since:2026-01-01 min_faves:500" --limit 50 --format md

Zana inaunga mkono sintaksia ya utafutaji wa hali ya juu ya X, ikiwemo vichujio vya akaunti, vipindi vya tarehe, vichujio vya lugha, vichujio vya maudhui, na viwango vya ushirikishaji.

Omba kichupo cha Latest

Matokeo ya utafutaji kwa kawaida hutumia tabia chaguomsingi ya utafutaji. Ongeza --latest unapotaka kichupo cha Latest:

xscraper search "ai agents" --latest --limit 25

Hamisha ratiba ya umma

Tumia timeline pamoja na jina la mtumiaji wa umma. Mfano huu huandika matokeo ya CSV kwenye faili:

xscraper timeline @nasa --limit 100 --format csv -o nasa.csv

Kusanya chapisho na majibu yake ya umma

Tumia amri ya tweet pamoja na URL ya chapisho la X:

xscraper tweet https://x.com/nasa/status/1846987139428634858 --format json

Miundo ya Matokeo na Chaguo za Amri

  • --limit <n> huweka idadi ya juu ya vipengee. Chaguo-msingi ni 50, na kikomo kisichozidi ni 200.
  • --format huchagua json, jsonl, csv, au md. Markdown ni chaguo linalofaa kwa utendakazi wa LLM.
  • -o <file> huandika matokeo kwenye faili badala ya towe la kawaida.
  • --headed huacha kivinjari kikiwa kinaonekana ili uweze kufuatilia mchakato na kutatua matatizo.

Rekodi ya JSON inaweza kujumuisha kitambulisho cha chapisho, URL, muda wa kuundwa, maandishi, lugha, maelezo ya mwandishi, vipimo vya ushirikishaji, lebo za reli, maudhui, na muhuri wa muda wa ukusanyaji:

{
  "id": "1846987139428634858",
  "url": "https://x.com/nasa/status/1846987139428634858",
  "created_at": "Wed Oct 16 12:34:56 +0000 2026",
  "text": "Liftoff! …",
  "lang": "en",
  "author": { "username": "nasa", "name": "NASA", "verified": true },
  "metrics": { "replies": 1200, "reposts": 4800, "likes": 32000, "views": 1500000 },
  "hashtags": ["EuropaClipper"],
  "scraped_at": "2026-09-26T10:00:00.000Z"
}

Kutumia Scraper na Mawakala wa AI

Hazina inajumuisha Skill ya wakala katika skills/x-scraper-no-api/SKILL.md. Unaweza kuelekeza OpenClaw au Hermes kwenye saraka ya skills/, au kunakili manifest ya Skill kwenye folda inayofaa ya skills kwa wakala wako.

Kwa hati maalum ya LLM, endesha CLI kama mchakato mdogo na unase matokeo ya Markdown:

import subprocess

ctx = subprocess.run(
    ["xscraper", "search", "local-first software", "--limit", "50", "--format", "md"],
    capture_output=True,
    text=True,
    timeout=600,
).stdout

Skill iliyojumuishwa inafafanua mkataba wa usalama: tumia data ya umma pekee, weka mipaka ikiwa midogo, usiwahi kushughulikia vitambulisho vya kuingia, na chukulia maudhui yaliyokusanywa kama ingizo lisiloaminika.

Vidokezo vya Juu kwa Uendeshaji wa Kuaminika

Weka mipaka ikiwa imelenga

Kila uendeshaji una kikomo cha vipengee 200 kwa muundo wake. Kwa utafiti na muktadha wa wakala, utafutaji kadhaa wenye malengo maalum na mipaka ya wastani ni bora kuliko kazi moja kubwa ya ukusanyaji.

Tumia Markdown kwa uundaji wa maelekezo

Mahali lengwa linapokuwa kidokezo cha LLM, chagua --format md. Muundo huu umeundwa kuwa rafiki kwa tokeni na unaweza kunaswa moja kwa moja kutoka kwa matokeo ya kawaida au kuhifadhiwa kwa -o.

Tumia hali yenye vichwa unapotatua matatizo

Ongeza --headed unapohitaji kutazama kivinjari kikifanya kazi. Baada ya hoja yako kufanya kazi inavyotarajiwa, ondoa bendera hiyo ili uendeshaji wa kawaida ufanyike bila kiolesura.

Tarajia matokeo machache wakati mwingine

Amri ikirudisha vipengee vichache kuliko ulivyoomba, ratiba ya matukio au matokeo ya utafutaji yanayopatikana huenda yamekwisha tu. Hili ni jambo la kawaida na si lazima lionyeshe hitilafu.

Heshimu mipaka ya matumizi yanayowajibika

Mradi huu huepuka kimakusudi kutatua CAPTCHA, kubadilisha proksi, kukusanya akaunti pamoja, kushughulikia vitambulisho vya kuingia, na kukwepa vikomo vya kasi. Weka uendeshaji ikiwa ya wastani, ruhusu upangaji wa kasi na vipindi vya kupoa vya kiotomatiki vifanye kazi, na uzingatie Masharti ya Huduma ya X pamoja na sheria inayotumika.

Jinsi Mradi Unavyofanya Kazi

Kielekezi halisi cha Chromium hupakia X kama ambavyo kingepakiwa kwa mwanadamu. Kikwaruzi hunasa bila kuingilia data ya JSON ya GraphQL ambayo X hutuma kwenye kiolesura chake chenyewe, kisha husawazisha data hiyo kuwa muundo thabiti wa matokeo. Hakiiti vituo vya ndani vya X moja kwa moja na hakitegemei majina ya madarasa ya HTML yanayobadilika.

Faili kuu za chanzo zimepangwa katika maeneo matano yenye malengo maalum:

  • src/cli.js hufafanua CLI inayotegemea Commander.
  • src/session.js hudhibiti wasifu endelevu wa Playwright na kuingia kwa mikono.
  • src/scraper.js hunasa majibu ya GraphQL na kusawazisha rekodi.
  • src/ratelimit.js hushughulikia upangaji wa kasi, vikomo, na kupunguza kasi baada ya hitilafu.
  • src/output.js huandika JSON, JSONL, CSV, na Markdown.

Hitimisho

x-scraper-no-api hutoa njia ya ndani ya kukusanya data ya umma ya X bila funguo za API, gharama za kila twiti, au mpatanishi mwenyeji. Sakinisha Node.js, thibitisha kwa kuingia kwa mikono mara moja, kisha tumia CLI kuhamisha utafutaji, ratiba za matukio, na majibu ya umma yaliyoelekezwa katika miundo inayofaa faili, hati, au mtiririko wa kazi wa mawakala wa AI. Weka matumizi kwa kiasi na shughulikia data iliyokusanywa kwa uwajibikaji.