In this Article
یہ گائیڈ بتاتی ہے کہ Python کے ذریعے Glassdoor سے کمپنی ریویوز اور مجموعی تنخواہوں کا ڈیٹا کیسے اسکریپ کیا جائے، اور اتنی ہی اہم بات یہ ہے کہ قانونی اور تکنیکی حدیں کہاں آتی ہیں۔ Glassdoor آسان ہدف نہیں: یہ مواد JavaScript سے رینڈر کرتا ہے، بوٹس کے خلاف سخت دفاعی نظام رکھتا ہے، اور اپنے زیادہ تر ڈیٹا کو رجسٹریشن وال کے پیچھے رکھتا ہے۔ اس لیے Glassdoor اسکریپر کے لیے حقیقی براؤزر (Playwright)، رہائشی پراکسیز، اور راستہ درست رکھنے کا ایک واضح اصول ضروری ہے: صرف عوامی صفحات تک رہیں، محفوظ کیے جانے والے ڈیٹا کو کم سے کم رکھیں، لاگ اِن کو کبھی بائی پاس نہ کریں، اور یہ بھی سمجھیں کہ Glassdoor کی شرائط شروع ہی سے خودکار رسائی کو محدود کرتی ہیں۔
میں Andrii Byzov ہوں، ایک AI-Native Fractional CMO، اور ویب ڈیٹا پائپ لائنز بناتا ہوں۔ آگے آپ دیکھیں گے کہ Glassdoor پر کیا اسکریپ کیا جا سکتا ہے اور کیا نہیں، شروع ہی میں ضروری قانونی احتیاطیں کیا ہیں، اور عوامی ریویوز اور تنخواہ صفحات کے لیے کام آنے والے کوڈ پیٹرنز کون سے ہیں۔
اہم حقائق
- Glassdoor JavaScript کے ذریعے رینڈر ہوتا ہے اور اس کا دفاعی نظام سخت ہے؛ سادہ
requestsاکثر کافی نہیں ہوتا، عموماً Playwright جیسا ہیڈلیس براؤزر چاہیے ہوتا ہے۔ - Glassdoor کی شرائط تحریری اجازت کے بغیر خودکار رسائی کو محدود کرتی ہیں؛ اس لیے لاگ آؤٹ حالت میں عوامی صفحات کی اسکریپنگ بھی اس کی شرائطِ استعمال کی خلاف ورزی ہو سکتی ہے۔ لاگ اِن وال ایک اضافی خطرہ ہے، واحد حد نہیں۔
- ریویوز صارفین کا بنایا ہوا، نیم ذاتی مواد ہیں؛ Glassdoor خود کہتا ہے کہ گمنامی کی ضمانت نہیں دی جا سکتی۔ محفوظ کیا جانے والا ڈیٹا کم سے کم رکھیں، شناختیں محفوظ نہ کریں، اور ریویو کا متن دوبارہ شائع نہ کریں۔
- رہائشی پراکسیز بڑے پیمانے پر مدد دیتی ہیں؛ Glassdoor شرح محدود کرتا ہے اور ڈیٹا سینٹر IPs کو جلد فلیگ کر دیتا ہے، مگر کوئی ٹول رسائی کی ضمانت نہیں دیتا اور نہ ہی اسکریپنگ کو خود بخود ضابطوں کے مطابق بناتا ہے۔
- اسے تعلیمی مواد سمجھیں۔ کسی بھی تجارتی یا بڑے پیمانے کے استعمال کے لیے Glassdoor کی اجازت لیں اور قانونی مشورہ حاصل کریں۔
Glassdoor پر آپ کیا اسکریپ کر سکتے ہیں اور کیا نہیں
سب سے پہلے یہی حد واضح کرنا Glassdoor اسکریپنگ منصوبے کو ممکنہ حد تک قابلِ دفاع بناتا ہے، اور کسی بھی Glassdoor اسکریپنگ ورک فلو میں یہی سب سے اہم فیصلہ ہے۔
- سب سے کم خطرہ (عوامی، غیر ذاتی): کسی کمپنی کی مجموعی ریٹنگ اور عہدے کے حساب سے مجموعی تنخواہی حدود، یعنی وہ نمایاں اعداد و شمار جو Glassdoor اکاؤنٹ کے بغیر دکھاتا ہے۔
- احتیاط کے ساتھ استعمال کریں (عوامی مگر حساس): ریویو کے مختصر اقتباسات (ریٹنگ، فوائد/نقصانات کا متن) عوامی تو ہوتے ہیں، مگر صارفین کا بنایا ہوا اور نیم ذاتی مواد ہیں۔ اگر انہیں جمع کریں تو کم سے کم رکھیں: مجموعی اشارے محفوظ کریں، شناختیں حذف کریں، اور متن کبھی دوبارہ شائع نہ کریں۔
- حد سے باہر: لاگ اِن یا رجسٹریشن وال کے پیچھے موجود کوئی بھی چیز، ریویو لکھنے والوں کی شناختیں یا کوئی بھی ذاتی ڈیٹا، اور ریویو کے متن کی دوبارہ اشاعت۔ “sign in to read more” گیٹ کو بائی پاس نہ کریں۔

کیا Glassdoor کو اسکریپ کرنا قانونی ہے؟
جواب حالات پر منحصر ہے، اور یہاں احتیاطی نکات عام سائٹس کے مقابلے میں زیادہ اہم ہیں۔ Glassdoor کی شرائطِ استعمال تحریری اجازت کے بغیر خودکار رسائی کو محدود کرتی ہیں، اس لیے عوامی، لاگ آؤٹ صفحات کو اسکریپ کرنا بھی اس کی شرائط کی خلاف ورزی ہو سکتا ہے۔ لاگ اِن وال ایک اضافی خطرہ ہے، واحد خطرہ نہیں۔ اس کے علاوہ بہت سا مواد لاگ اِن کے پیچھے ہے، اور ریویوز صارفین کا بنایا ہوا مواد ہیں جن سے کاپی رائٹ اور پرائیویسی کے سوالات جڑتے ہیں۔ سب سے کم خطرے والا طریقہ یہ ہے: لاگ آؤٹ رہیں، عوامی مجموعی ڈیٹا (ریٹنگز، تنخواہی حدود) کو ترجیح دیں، ڈیٹا کم سے کم رکھیں اور ذاتی ڈیٹا محفوظ نہ کریں، robots.txt اور شرح کی حدوں کا احترام کریں، ریویو کا متن دوبارہ شائع نہ کریں، اور تجارتی استعمال کے لیے Glassdoor کی اجازت حاصل کریں۔ مکمل فریم ورک کے لیے ہماری گائیڈ دیکھیں: کیا ویب اسکریپنگ قانونی ہے؟. یہ عمومی معلومات ہیں، قانونی مشورہ نہیں؛ کسی بھی تجارتی Glassdoor ڈیٹا منصوبے سے پہلے وکیل سے مشورہ کریں۔
مرحلہ 1 – اپنا ماحول تیار کریں
چونکہ Glassdoor JavaScript پر بہت زیادہ انحصار کرتا ہے، اس لیے اسکریپر خام HTTP requests بھیجنے کے بجائے Playwright کے ذریعے ایک حقیقی براؤزر چلاتا ہے۔
# Glassdoor renders content with JavaScript and defends hard, so use a
# real browser (Playwright) rather than plain requests.
pip install playwright beautifulsoup4
playwright install chromium
مرحلہ 2 – ایک عوامی Glassdoor صفحہ لوڈ کریں
رہائشی پراکسی کے ذریعے ہیڈلیس Chromium چلائیں اور کمپنی ریویوز کا عوامی URL لوڈ کریں، لاگ اِن نہ کریں۔ براؤزر صفحے کا JavaScript چلاتا ہے تاکہ HTML پڑھنے سے پہلے ریویوز رینڈر ہو جائیں۔
from playwright.sync_api import sync_playwright
# Route the browser through a residential proxy (see Step 4)
PROXY = {"server": "http://gw.dataimpulse.com:823",
"username": "YOUR_DI_LOGIN", "password": "YOUR_DI_PASSWORD"}
def get_html(url):
with sync_playwright() as p:
browser = p.chromium.launch(proxy=PROXY, headless=True)
page = browser.new_page(locale="en-US")
page.goto(url, wait_until="networkidle", timeout=60000)
html = page.content()
browser.close()
return html
# A PUBLIC company reviews page (do not log in)
html = get_html("https://www.glassdoor.com/Reviews/Example-Company-Reviews-E12345.htm")
مرحلہ 3 – عوامی Glassdoor ریویوز اسکریپ کریں
Glassdoor ریویوز اسکریپ کرنے کے لیے عوامی طور پر نظر آنے والے ریویو کارڈز کو منظم فیلڈز میں پارس کریں: ریٹنگ، عنوان، فوائد، نقصانات اور تاریخ۔ Glassdoor کے کلاس نام مبہم ہوتے ہیں اور اکثر بدلتے رہتے ہیں، اس لیے DevTools میں موجودہ سلیکٹرز کی تصدیق کریں؛ نیچے دی گئی data-test attributes صرف وضاحتی مثال ہیں۔
from bs4 import BeautifulSoup
def parse_reviews(html):
"""Parse the publicly visible reviews. Selectors change often —
confirm the current ones in DevTools before relying on them."""
soup = BeautifulSoup(html, "html.parser")
reviews = []
for card in soup.select('[data-test="review-details"]'):
def t(sel):
el = card.select_one(sel)
return el.get_text(strip=True) if el else None
reviews.append({
"rating": t('[data-test="review-rating"]'),
"title": t('[data-test="review-title"]'),
"pros": t('[data-test="pros"]'),
"cons": t('[data-test="cons"]'),
"date": t('[data-test="review-date"]'),
})
return reviews
print(parse_reviews(html)[:3])
مرحلہ 4 – مجموعی تنخواہ کا ڈیٹا اسکریپ کریں
Glassdoor کے تنخواہ صفحات عہدے کے حساب سے مجموعی اعداد و شمار دکھاتے ہیں: میڈین بیس پے اور حدود، افراد نہیں۔ جمع کرنے کے لیے یہی عوامی اور مجموعی منظر درست ہے؛ اسے بھی اسی طریقے سے حاصل کریں۔
def parse_salaries(html):
"""Parse aggregated, public salary ranges (role-level, not individuals)."""
soup = BeautifulSoup(html, "html.parser")
rows = []
for row in soup.select('[data-test="salary-row"]'):
def t(sel):
el = row.select_one(sel)
return el.get_text(strip=True) if el else None
rows.append({
"job_title": t('[data-test="job-title"]'),
"base_pay": t('[data-test="median-base"]'),
"range": t('[data-test="pay-range"]'),
})
return rows
salary_html = get_html("https://www.glassdoor.com/Salaries/example-company-salaries-E12345.htm")
print(parse_salaries(salary_html)[:3])
مرحلہ 5 – Glassdoor کے اینٹی بوٹ دفاع سے نمٹیں
Glassdoor ایک سخت اینٹی بوٹ نظام استعمال کرتا ہے: IP ریپیوٹیشن اسکورنگ، شرح کی حدیں، اور بوٹ ڈیٹیکشن چیلنجز۔ کوئی یقینی بائی پاس موجود نہیں، اور براؤزر کے ساتھ پراکسیز استعمال کرنے سے اسکریپنگ خود بخود ضابطوں کے مطابق نہیں ہو جاتی۔ البتہ عوامی صفحات پر بلاکس کم کرنے میں دو چیزیں مدد دیتی ہیں: حقیقت پسندانہ ہیڈرز کے ساتھ ایک حقیقی براؤزر کانٹیکسٹ، اور گردش کرنے والی رہائشی پراکسیز تاکہ سارا بوجھ ایک ہی IP پر نہ پڑے۔ یہاں ڈیٹا سینٹر IPs جلد فلیگ ہو جاتے ہیں؛ DataImpulse residential proxies ($1/GB، گردش کرنے والی، 195 ممالک) حقیقی صارفین جیسے IPs جیسے نظر آتے ہیں۔ درخواستوں کی رفتار مناسب رکھیں؛ Glassdoor پر مسلسل بہت زیادہ درخواستیں بھیجنے سے بلاک ہونے کا خطرہ بڑھتا ہے، سرور پر بوجھ پڑتا ہے، اور آپ کی قانونی پوزیشن کمزور ہو سکتی ہے۔
# Rotate residential IPs and look like a real browser.
# Use a fresh session id per run so each crawl gets a clean IP.
PROXY = {"server": "http://gw.dataimpulse.com:823",
"username": "YOUR_DI_LOGIN__cr.us;sid.run1",
"password": "YOUR_DI_PASSWORD"}
def fetch(url):
with sync_playwright() as p:
browser = p.chromium.launch(proxy=PROXY, headless=True)
ctx = browser.new_context(
locale="en-US",
user_agent=("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"),
viewport={"width": 1366, "height": 900},
)
page = ctx.new_page()
page.goto(url, wait_until="networkidle") # pace requests; Glassdoor rate-limits
html = page.content()
browser.close() # always clean up the browser
return html
مرحلہ 6 – اپنا ڈیٹا ایکسپورٹ کریں
اپنا جمع کیا ہوا عوامی اور مجموعی ڈیٹا JSON اور CSV میں محفوظ کریں۔ ذاتی ڈیٹا شامل نہ کریں؛ ریٹنگز اور مجموعی متن رکھیں، ریویو لکھنے والوں کی شناخت نہیں۔
import json, csv
reviews = parse_reviews(html)
with open("glassdoor_reviews.json", "w", encoding="utf-8") as f:
json.dump(reviews, f, indent=2, ensure_ascii=False)
if reviews:
with open("glassdoor_reviews.csv", "w", newline="", encoding="utf-8") as f:
w = csv.DictWriter(f, fieldnames=reviews[0].keys())
w.writeheader(); w.writerows(reviews)
اکثر پوچھے گئے سوالات
کیا Glassdoor کو اسکریپ کرنا قانونی ہے؟
یہ صورتحال پر منحصر ہے، اور احتیاطی پہلو واقعی اہم ہیں: Glassdoor کی شرائط تحریری اجازت کے بغیر خودکار رسائی کو محدود کرتی ہیں، اس لیے عوامی صفحات کی اسکریپنگ بھی اس کی شرائطِ استعمال کی خلاف ورزی ہو سکتی ہے۔ سائٹ کا بڑا حصہ لاگ اِن کے پیچھے ہے، اور ریویوز کاپی رائٹ شدہ، نیم ذاتی صارف مواد ہیں۔ اگر آپ آگے بڑھتے ہیں تو کم ترین خطرے والا طریقہ صرف عوامی مجموعی ڈیٹا (ریٹنگز، تنخواہی حدود) تک محدود رہنا ہے، لاگ آؤٹ حالت میں، کم سے کم ڈیٹا کے ساتھ، دوبارہ اشاعت کے بغیر؛ اور تجارتی استعمال کے لیے اجازت یا قانونی مشورہ حاصل کریں۔ یہ عمومی معلومات ہیں، قانونی مشورہ نہیں؛ ہماری ویب اسکریپنگ کی قانونی حیثیت کی گائیڈ دیکھیں۔
کیا میں لاگ اِن کیے بغیر Glassdoor کو اسکریپ کر سکتا ہوں؟
ہاں، اور آپ کو لاگ آؤٹ ہی رہنا چاہیے۔ Glassdoor کچھ کمپنی ریٹنگز، ریویو کے مختصر اقتباسات، اور مجموعی تنخواہ کا ڈیٹا عوامی طور پر دکھاتا ہے۔ لاگ اِن کے پیچھے اسکریپنگ کا مطلب ان شرائط کی خلاف ورزی ہے جنہیں آپ سائن اِن پر قبول کرتے ہیں، اور یہی زیادہ خطرناک حصہ ہے۔ صرف وہی جمع کریں جو اکاؤنٹ کے بغیر نظر آتا ہے۔
Glassdoor پر ایک سادہ requests اسکرپٹ کیوں کام نہیں کرتی؟
Glassdoor مواد کو JavaScript کے ذریعے رینڈر کرتا ہے اور بوٹ ڈیٹیکشن چلاتا ہے، اس لیے ایک plain HTTP درخواست عموماً بہت کم قابل استعمال ڈیٹا یا چیلنج صفحہ واپس کرتی ہے۔ آپ کو ایک ہیڈلیس براؤزر (Playwright یا اس جیسا) چاہیے جو صفحے کا JS چلائے، ساتھ ہی رہائشی پراکسیز بھی، تاکہ فلیگ ہونے کا خطرہ کم رہے۔
کیا Glassdoor کو اسکریپ کرنے کے لیے مجھے پراکسیز کی ضرورت ہے؟
چند صفحات سے زیادہ کے لیے، ہاں۔ Glassdoor ڈیٹا سینٹر IPs کو تیزی سے ریٹ لمٹ اور فلیگ کرتا ہے، اس لیے ایک ہی IP جلد بلاک ہو جاتی ہے۔ گردش کرنے والی رہائشی پراکسیز درخواستوں کو بہت سے حقیقی صارف IPs میں پھیلا دیتی ہیں اور دفاعی نظام کو متحرک کیے بغیر بڑے پیمانے پر ڈیٹا جمع کرنے میں مدد دیتی ہیں۔
کیا میں انفرادی تنخواہیں یا ریویو لکھنے والوں کے نام اسکریپ کر سکتا ہوں؟
نہیں، اور آپ کو ایسا نہیں کرنا چاہیے۔ Glassdoor کا تنخواہ ڈیٹا مجموعی صورت میں پڑھنے کے لیے بنایا گیا ہے (عہدے کے لحاظ سے میڈین اور حدود)، اور ریویو لکھنے والوں کی شناختیں ذاتی ڈیٹا ہیں جو ضابطوں کے حساس دائرے میں آتی ہیں۔ صرف مجموعی، غیر ذاتی اشارے جمع کریں۔
خلاصہ
Glassdoor کو اسکریپ کرنا ممکن ہے، مگر اس کی حدود سخت ہیں: یہ JavaScript سے رینڈر ہونے والی، اچھی طرح محفوظ سائٹ ہے جہاں زیادہ تر اہم مواد گیٹ کے پیچھے ہے۔ اس لیے ایک کارآمد Glassdoor اسکریپر کو ہیڈلیس براؤزر اور گردش کرنے والی رہائشی پراکسیز درکار ہوتی ہیں، ساتھ ہی یہ پختہ اصول بھی کہ لاگ اِن کو بائی پاس کیے بغیر صرف عوامی، غیر ذاتی اور مجموعی ڈیٹا ہی جمع کیا جائے۔ Playwright کے ساتھ رہائشی پراکسیز استعمال کر کے تکنیکی سطح درست بنائیں، اسے قابلِ دفاع دائرے میں رکھیں، اور وسیع تر ترتیب کے لیے ہماری ویب اسکریپنگ کے لیے بہترین پراکسیز گائیڈ دیکھیں۔
آخری اپ ڈیٹ: June 25, 2026.
