مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

Playwright کے ساتھ نجی، بغیر API کے X اسکریپر بنائیں

x-scraper-no-api انسٹال اور استعمال کرنے کا طریقہ سیکھیں، جو Node.js اور Playwright پر مبنی ایک خود میزبان CLI ہے۔ اس کے ذریعے عوامی X تلاشیں، ٹائم لائنز اور پوسٹس کے جوابات API کیز یا فریقِ ثالث کی خدمات کے بغیر JSON، JSONL، CSV یا Markdown میں برآمد کیے جا سکتے ہیں۔

Playwright کے ساتھ نجی، بغیر API کے X اسکریپر بنائیں

x-scraper-no-api کیا کرتا ہے

x-scraper-no-api مقامی طور پر تصدیق شدہ Chromium براؤزر کو عوامی X مواد کے لیے ڈیٹا پائپ لائن میں تبدیل کرتا ہے۔ ایک بار دستی طور پر لاگ اِن کرنے کے بعد، یہ کمانڈ لائن ٹول تلاش کے نتائج، عوامی ٹائم لائنز، اور کسی پوسٹ کو اس کے عوامی جوابات سمیت جمع کر سکتا ہے۔

نتائج براہِ راست آپ کی مشین پر json، jsonl، csv، یا md فارمیٹس میں لکھے جاتے ہیں۔ یہ پروجیکٹ X API key، ہوسٹڈ اسکریپر سروس، پراکسی، یا کسی تیسرے فریق کے ریلے کا استعمال نہیں کرتا۔

اہم خصوصیات

  • API keys یا ڈویلپر اکاؤنٹ کی ضرورت نہیں: آفیشل API پلان کے بجائے اپنا براؤزر سیشن استعمال کریں۔
  • دستی تصدیق: آپ خود سائن اِن کرتے ہیں، اور یہ ٹول آپ کا پاس ورڈ یا دو مرحلہ جاتی تصدیقی کوڈز سنبھالتا نہیں۔
  • مستقل سیشن: براؤزر پروفائل ~/.xscraper/ میں محفوظ ہوتا ہے، اس لیے آئندہ رنز ہیڈ لیس ہو سکتے ہیں۔
  • جدید X تلاش: from:، since:، until:، min_faves:، filter:media، اور lang: جیسے آپریٹرز استعمال کریں۔
  • LLM کے لیے موزوں آؤٹ پٹ: Markdown کو ٹوکن کے لحاظ سے موزوں AI ایجنٹ کانٹیکسٹ کے لیے ڈیزائن کیا گیا ہے، جبکہ JSON، JSONL، اور CSV پروگراماتی ورک فلو کی معاونت کرتے ہیں۔
  • لچک دار پارسنگ: اسکریپر نازک HTML کلاس ناموں پر انحصار کرنے کے بجائے X کے اپنے فرنٹ اینڈ کو بھیجا جانے والا منظم GraphQL ڈیٹا حاصل کرتا ہے۔
  • محتاط حدود: رنز میں انسانی طرز کی رفتار، آئٹمز کی سخت حد، اور X کی جانب سے دباؤ کے اشارے پر خودکار بیک آف شامل ہے۔
  • ایجنٹ معاونت: ریپوزٹری میں OpenClaw، Hermes، اور دیگر CLI سے قابلِ استعمال ایجنٹس کے لیے Skill شامل ہے۔

انسٹالیشن اور پہلی بار سیٹ اپ

1. macOS بلڈ ٹولز انسٹال کریں

macOS پر Xcode Command Line Tools انسٹال کریں، کیونکہ مقامی انحصارات کو ان کی ضرورت ہو سکتی ہے۔

xcode-select --install

2. Node.js انسٹال کریں

آفیشل انسٹالر یا ورژن مینیجر کے ذریعے Node.js 18 یا اس کے بعد کا ورژن انسٹال کریں۔ اس پروجیکٹ کے لیے Node.js 18 یا بعد کا ورژن درکار ہے۔ آغاز کرنے کے لیے Node.js ڈاؤن لوڈ صفحے پر جائیں۔

3. GitHub سے اسکریپر انسٹال کریں

ایک ورکنگ ڈائریکٹری بنائیں، اس میں جائیں، اور پیکیج براہِ راست ریپوزٹری سے انسٹال کریں:

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

4. Playwright کے لیے Chromium انسٹال کریں

Playwright کے استعمال کردہ Chromium براؤزر کو ڈاؤن لوڈ کریں:

npx playwright install chromium

5. دستی طور پر لاگ اِن کریں

ایک بار ہونے والے لاگ اِن کا عمل شروع کریں:

npx xscraper login

براؤزر کی ایک حقیقی ونڈو کھلے گی۔ مطلوبہ دو مرحلہ جاتی تصدیق سمیت خود X میں سائن اِن کریں۔ یہ ٹول نتیجے میں بننے والا براؤزر سیشن مقامی طور پر ~/.xscraper/ میں محفوظ کرتا ہے۔ اسے آپ کی اسناد موصول یا پراسیس نہیں ہوتیں۔

ایسا X اکاؤنٹ استعمال کریں جسے براؤزنگ کے لیے استعمال کرنے میں آپ مطمئن ہوں۔ یہ ٹول صرف عوامی پوسٹس کو سپورٹ کرتا ہے اور محفوظ اکاؤنٹس، براہِ راست پیغامات، یا محدود مواد کو سپورٹ نہیں کرتا۔

بنیادی استعمال

جدید آپریٹرز کے ساتھ X تلاش کریں

search کمانڈ کو X کی مکمل سرچ ایکسپریشن دیں۔ یہ مثال تاریخ کے بعد OpenAI کی ایسی پوسٹس تلاش کرتی ہے جنہیں کم از کم 500 لائکس حاصل ہوں، اور Markdown واپس کرتی ہے:

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

یہ ٹول X کے جدید سرچ نحو کو سپورٹ کرتا ہے، جس میں اکاؤنٹ فلٹرز، تاریخ کی حدود، زبان کے فلٹرز، میڈیا فلٹرز، اور انگیجمنٹ کی حدود شامل ہیں۔

Latest ٹیب کی درخواست کریں

تلاش کے نتائج عام طور پر ڈیفالٹ سرچ رویہ استعمال کرتے ہیں۔ جب آپ Latest ٹیب چاہتے ہوں تو --latest شامل کریں:

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

عوامی ٹائم لائن ایکسپورٹ کریں

عوامی صارف نام کے ساتھ timeline استعمال کریں۔ یہ مثال CSV آؤٹ پٹ کو ایک فائل میں لکھتی ہے:

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

ایک پوسٹ اور اس کے عوامی جوابات جمع کریں

X پوسٹ کے URL کے ساتھ tweet کمانڈ استعمال کریں:

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

آؤٹ پٹ فارمیٹس اور کمانڈ آپشنز

  • --limit <n> آئٹمز کی زیادہ سے زیادہ تعداد مقرر کرتا ہے۔ ڈیفالٹ 50 ہے، جبکہ سخت حد 200 ہے۔
  • --format json، jsonl، csv، یا md منتخب کرتا ہے۔ LLM ورک فلو کے لیے Markdown ایک عملی انتخاب ہے۔
  • -o <file> آؤٹ پٹ کو معیاری آؤٹ پٹ کے بجائے ایک فائل میں لکھتا ہے۔
  • --headed براؤزر کو نمایاں رکھتا ہے تاکہ آپ عمل دیکھ سکیں اور خرابیوں کا ازالہ کر سکیں۔

ایک JSON ریکارڈ میں پوسٹ کی ID، URL، تخلیق کا وقت، متن، زبان، مصنف کی تفصیلات، انگیجمنٹ میٹرکس، ہیش ٹیگز، میڈیا، اور اسکریپ کے وقت کی معلومات شامل ہو سکتی ہیں:

{
  "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"
}

AI ایجنٹس کے ساتھ اسکریپر استعمال کرنا

ریپوزٹری میں skills/x-scraper-no-api/SKILL.md پر ایک ایجنٹ Skill شامل ہے۔ آپ OpenClaw یا Hermes کو skills/ ڈائریکٹری کی طرف متوجہ کر سکتے ہیں، یا Skill manifest کو اپنے ایجنٹ کے لیے موزوں skills فولڈر میں کاپی کر سکتے ہیں۔

اپنی مرضی کے LLM اسکرپٹ کے لیے CLI کو ذیلی عمل کے طور پر چلائیں اور Markdown آؤٹ پٹ حاصل کریں:

import subprocess

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

شامل کردہ Skill ایک حفاظتی معاہدہ متعین کرتی ہے: صرف عوامی ڈیٹا استعمال کریں، حدود کم رکھیں، کبھی بھی اسناد سنبھالیں نہیں، اور اسکریپ کیے گئے مواد کو غیر معتبر ان پٹ سمجھیں۔

قابلِ اعتماد رنز کے لیے جدید تجاویز

حدود کو مرکوز رکھیں

ہر رن میں ڈیزائن کے مطابق زیادہ سے زیادہ 200 آئٹمز شامل ہوتے ہیں۔ تحقیق اور ایجنٹ کے سیاق و سباق کے لیے، ایک بڑے کلیکشن جاب کے بجائے معمولی حدود کے ساتھ کئی مرکوز سرچز بہتر ہیں۔

پرامپٹنگ کے لیے Markdown استعمال کریں

جب منزل LLM پرامپٹ ہو تو --format md منتخب کریں۔ یہ فارمیٹ ٹوکنز کے لیے موزوں ہے اور اسے براہِ راست معیاری آؤٹ پٹ سے حاصل کیا جا سکتا ہے یا -o کے ذریعے محفوظ کیا جا سکتا ہے۔

مسائل حل کرتے وقت headed موڈ استعمال کریں

جب آپ کو براؤزر کا کام دیکھنا ہو تو --headed شامل کریں۔ جب آپ کی کوئری توقع کے مطابق کام کرنے لگے تو یہ فلیگ ہٹا دیں تاکہ معمول کے رنز headless موڈ میں چل سکیں۔

کبھی کبھار کم نتائج کی توقع رکھیں

اگر کوئی کمانڈ مطلوبہ تعداد سے کم آئٹمز واپس کرتی ہے تو دستیاب ٹائم لائن یا سرچ نتائج شاید ختم ہو چکے ہوں۔ یہ معمول کی بات ہے اور ضروری نہیں کہ کسی خرابی کی نشاندہی کرے۔

ذمہ دارانہ استعمال کی حدود کا احترام کریں

یہ منصوبہ جان بوجھ کر CAPTCHA حل کرنے، پراکسی گھمانے، اکاؤنٹس کا مجموعہ بنانے، اسناد سنبھالنے، اور شرحی حدود سے بچنے سے گریز کرتا ہے۔ رنز کو محدود رکھیں، خودکار رفتار اور کول ڈاؤنز کو کام کرنے دیں، اور X کی سروس کی شرائط اور قابلِ اطلاق قانون کی پابندی کریں۔

یہ منصوبہ کیسے کام کرتا ہے

ایک حقیقی Chromium انسٹنس X کو اسی طرح لوڈ کرتا ہے جیسے کوئی انسان اسے استعمال کرتا ہے۔ اسکریپر ان GraphQL JSON جوابات کو غیر فعال طور پر حاصل کرتا ہے جو X اپنے فرنٹ اینڈ کو بھیجتا ہے، پھر اس ڈیٹا کو ایک مستحکم آؤٹ پٹ اسکیما میں معمول پر لاتا ہے۔ یہ X کے اندرونی اینڈ پوائنٹس کو براہِ راست کال نہیں کرتا اور نہ ہی بدلتے ہوئے HTML کلاس ناموں پر انحصار کرتا ہے۔

بنیادی سورس فائلیں پانچ مرکوز حصوں میں منظم ہیں:

  • src/cli.js Commander پر مبنی CLI کی تعریف کرتی ہے۔
  • src/session.js مستقل Playwright پروفائل اور دستی لاگ اِن کا انتظام کرتی ہے۔
  • src/scraper.js GraphQL جوابات کو روکتی ہے اور ریکارڈز کو معمول پر لاتی ہے۔
  • src/ratelimit.js رفتار، حدود، اور بیک آف سنبھالتی ہے۔
  • src/output.js JSON، JSONL، CSV، اور Markdown لکھتی ہے۔

نتیجہ

x-scraper-no-api API کیز، فی ٹویٹ کریڈٹس، یا میزبانی کرنے والے درمیانی نظام کے بغیر عوامی X ڈیٹا جمع کرنے کا مقامی طریقہ فراہم کرتا ہے۔ Node.js انسٹال کریں، ایک مرتبہ دستی طور پر تصدیق کریں، اور CLI کے ذریعے مرکوز سرچز، ٹائم لائنز، اور عوامی جوابات کو فائلوں، اسکرپٹس، یا AI ایجنٹ ورک فلو کے لیے موزوں فارمیٹس میں برآمد کریں۔ استعمال محتاط رکھیں اور جمع کیے گئے ڈیٹا کو ذمہ داری سے سنبھالیں۔