لنکڈ ان ڈیٹا کو ازگر کے ساتھ کھرچنے کے لئے رہنمائی کریں

تبصرے: 0

لنکڈ ان ڈیٹا کو کھرچنا کئی وجوہات کی بناء پر ناقابل یقین حد تک قیمتی ہوسکتا ہے:

  • ملازمت کی منڈی کا تجزیہ: ملازمت کی فہرستوں میں رجحانات کا تجزیہ کریں ، جیسے سب سے زیادہ مانگ کی مہارت اور صنعتیں۔
  • بھرتی: ملازمت کی حکمت عملیوں سے آگاہ کرنے کے لئے ملازمت کی پوسٹنگ پر ڈیٹا اکٹھا کریں۔
  • مدمقابل تحقیق: حریفوں کی خدمات حاصل کرنے کے نمونوں اور حکمت عملیوں کی نگرانی کریں۔

مضمون میں اہم تکنیکوں اور حکمت عملیوں پر زور دیا جائے گا ، بشمول پراکسیوں اور ہیڈر کے ذریعہ پہلی جگہ پر پتہ لگانے سے گریز کرنے کی اہمیت بھی۔ درخواستوں کی لائبریری کو HTTP درخواستیں بنانے کے لئے استعمال کیا جائے گا جبکہ LXML HTML مواد کی تجزیہ کرنے کے لئے کام کرے گا۔

ماحول ترتیب دینا

شروع کرنے سے پہلے ، یقینی بنائیں کہ آپ نے اپنی مشین پر ازگر انسٹال کرلیا ہے۔

PIP کا استعمال کرتے ہوئے مطلوبہ لائبریریوں کو انسٹال کریں:


pip install requests
pip install lxml

کھرچنی کے ساتھ شروعات کرنا

ازگر کا استعمال کرتے ہوئے لنکڈ ان ملازمت کی فہرستوں کو کھرچنے کے لئے یہاں ایک جامع کوڈ مثال ہے:

لائبریریوں کو درآمد کریں

ہمیں متعدد ازگر لائبریریوں کی ضرورت ہوگی:

  • requests: ویب صفحات کو بازیافت کرنے کے لئے HTTP درخواستیں بنانے کے لئے۔
  • lxml: HTML مواد کو پارس کرنے کے لئے۔
  • csv: سی ایس وی فائل میں نکالا ہوا ڈیٹا لکھنے کے لئے۔

import requests
from lxml import html
import csv
import random

ملازمت کی تلاش URL کی وضاحت کریں

لنکڈ ملازمت کی تلاش کے یو آر ایل کی وضاحت کرکے شروع کریں جسے آپ کھرچنا چاہتے ہیں۔


url = 'https link'

صارف ایجنٹ ڈور اور پراکسی

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


user_agents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
]

جدید دور کے پراکسی فراہم کرنے والے اکثر داخلی گردش کی حمایت کرتے ہیں ، یعنی وہ خود بخود آپ کے لئے IP پتے گھماتے ہیں۔ اس سے کسی فہرست سے پراکسیوں کو دستی طور پر منتخب کرنے کی ضرورت ختم ہوجاتی ہے۔ تاہم ، مثال کے مقاصد کے ل here ، یہاں یہ ہے کہ آپ کو ضرورت پڑنے پر پراکسی گردش کو سنبھال لیا جائے گا:


proxies = {
    'http': random.choice(proxies),
    'https': random.choice(proxies)
}

درخواستوں کے لئے ہیڈر

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


headers = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'accept-language': 'en-IN,en;q=0.9',
    'dnt': '1',
    'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Linux"',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'none',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
}

ڈیٹا اسٹوریج کو شروع کریں

ملازمت کی معلومات کو مؤثر طریقے سے جمع کرنے اور اسٹور کرنے کے ل you ، آپ کو ڈیٹا اسٹور کا آغاز کرکے شروع کرنا چاہئے۔ ازگر میں ، اس میں عام طور پر خالی فہرست بنانا شامل ہوتا ہے۔ یہ فہرست اسٹوریج کنٹینر کے طور پر کام کرے گی جہاں آپ ملازمت کی تفصیلات شامل کرسکتے ہیں کیونکہ وہ HTML مواد سے نکالے جاتے ہیں۔ یہ طریقہ یقینی بناتا ہے کہ معلومات کو منظم طریقے سے جمع کیا گیا ہے اور مزید پروسیسنگ یا تجزیہ کے لئے آسانی سے قابل رسائی ہے۔

job_details = []

HTML مواد کو پارس کرنا

HTTP GET درخواست بھیجنے کے بعد ، اگلا مرحلہ LXML لائبریری کا استعمال کرتے ہوئے HTML مواد کی تجزیہ کرنا ہے۔ اس سے ہمیں HTML ڈھانچے کے ذریعے تشریف لے جانے اور اس ڈیٹا کی نشاندہی کرنے کی اجازت ہوگی جو ہم نکالنا چاہتے ہیں۔


# Set random User-Agent and proxy with IP authorization method
headers['user-agent'] = random.choice(user_agents)
proxies = {
    'http': IP:PORT,
    'https': IP:PORT
}

# Send an HTTP GET request to the URL
response = requests.get(url=url, headers=headers, proxies=proxies)
parser = html.fromstring(response.content)

ملازمت کا ڈیٹا نکالنا

ایک بار جب HTML مواد کو تجزیہ کیا جاتا ہے تو ، ہم ملازمت کی مخصوص تفصیلات جیسے عنوان ، کمپنی کا نام ، مقام ، اور XPath کے سوالات کا استعمال کرتے ہوئے نوکری URL نکال سکتے ہیں۔ یہ تفصیلات ایک لغت میں محفوظ ہیں اور ایک فہرست میں شامل ہیں۔


# Extract job details from the HTML content
for job in parser.xpath('//ul[@class="jobs-search__results-list"]/li'):
    title = ''.join(job.xpath('.//div/a/span/text()')).strip()
    company = ''.join(job.xpath('.//div/div[2]/h4/a/text()')).strip()
    location = ''.join(job.xpath('.//div/div[2]/div/span/text()')).strip()
    job_url = job.xpath('.//div/a/@href')[0]
    
    job_detail = {
        'title': title,
        'company': company,
        'location': location,
        'job_url': job_url
    }
    job_details.append(job_detail)

ڈیٹا کو CSV میں محفوظ کریں

ملازمت کا ڈیٹا اکٹھا کرنے کے بعد ، اسے CSV فائل میں محفوظ کریں۔


with open('linkedin_jobs.csv', 'w', newline='', encoding='utf-8') as csvfile:
    fieldnames = ['title', 'company', 'location', 'job_url']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for job_detail in job_details:
        writer.writerow(job_detail)

مکمل کوڈ

مذکورہ بالا تمام حصوں کو یکجا کرتے ہوئے ، مکمل کوڈ یہ ہے:


from selenium.webdriver.chrome.options import Options
from seleniumwire import webdriver as wiredriver
from selenium.webdriver.common.by import By
import csv

# Specify the proxy server address with username and password
proxy_address = ""
proxy_username = ""
proxy_password = ""

# Set up Chrome options with the proxy and authentication
chrome_options = Options()
chrome_options.add_argument(f'--proxy-server={proxy_address}')
chrome_options.add_argument(f'--proxy-auth={proxy_username}:{proxy_password}')

# Create a WebDriver instance with selenium-wire
driver = wiredriver.Chrome(options=chrome_options)

url = 'https link'

# Perform your Selenium automation with the enhanced capabilities of selenium-wire
driver.get(url)

job_details = []

all_elements = driver.find_elements(By.XPATH,
                                   '//*[@id="main-content"]/section/ul/li')

for i in all_elements:
   title = i.find_element(By.XPATH,
                          './/div/div/h3').text
   company = i.find_element(By.XPATH, './/div/div[2]/h4/a').text
   location = i.find_element(By.XPATH, './/div/div[2]/div/span').text
   job_url = i.find_element(By.XPATH,
                            './/div/a').get_attribute('href')

   job_detail = {
       'title': title,
       'company': company,
       'location': location,
       'job_url': job_url
   }
   job_details.append(job_detail)

with open('linkedin_jobs.csv', 'w', newline='', encoding='utf-8') as csvfile:
   fieldnames = ['title', 'company', 'location', 'job_url']
   writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
   writer.writeheader()
   for job_detail in job_details:
       writer.writerow(job_detail)

driver.quit()

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

تبصرے:

0 تبصرے