Is féidir le scríobadh sonraí LinkedIn a bheith thar a bheith luachmhar ar chúiseanna éagsúla:
Leagfaidh an t -alt béim ar theicnící agus ar straitéisí tábhachtacha, lena n -áirítear an tábhacht a bhaineann le braite a sheachaint trí sheachvótálaithe agus ceanntásca sa chéad áit. Bainfear úsáid as an leabharlann iarratais chun iarratais HTTP a dhéanamh agus úsáidfear LXML chun ábhar HTML a pharsáil.
Sula dtosaíonn tú, déan cinnte go bhfuil python suiteáilte agat ar do mheaisín.
Suiteáil na leabharlanna riachtanacha ag baint úsáide as PIP:
pip install requests
pip install lxml
Seo sampla cuimsitheach cód chun liostaí poist LinkedIn a scríobadh ag úsáid Python:
Teastaíonn roinnt leabharlanna Python uainn:
import requests
from lxml import html
import csv
import random
Tosaigh trí URL cuardaigh poist LinkedIn a shainiú ar mhaith leat a scrape.
url = 'https link'
Le scrape LinkedIn go héifeachtach, tá sé ríthábhachtach na ceanntásca cearta a úsáid, go háirithe an ceanntásc gníomhaire úsáideora, chun iarratais ó bhrabhsálaí iarbhír a aithris.
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'
]
Is minic a thacaíonn soláthraithe seachvótálaí an lae inniu le rothlú inmheánach, rud a chiallaíonn go n-rothlaíonn siad seoltaí IP go huathoibríoch duit. Cuireann sé seo deireadh leis an ngá le seachvótálaithe a roghnú de láimh ó liosta. Mar sin féin, chun críocha léirithe, is é seo an dóigh a láimhseálfá uainíocht seachfhreastalaí más gá:
proxies = {
'http': random.choice(proxies),
'https': random.choice(proxies)
}
Scríobhann LinkedIn rathúil insí ar an socrú ceart ceanntásca a dhéanann aithris ar iompar fíor -bhrabhsálaí. Ní hamháin go gcabhraíonn ceanntásca cumraithe go cuí le dul timpeall ar chórais chosanta frith-bot ach laghdaítear an seans go gcuirfí bac ar do chuid gníomhaíochtaí scríobtha.
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',
}
Chun faisnéis poist a bhailiú agus a stóráil go héifeachtach, ba chóir duit tosú trí siopa sonraí a thúsú. I Python, is iondúil go gcruthaítear liosta folamh de ghnáth. Feidhmeoidh an liosta seo mar choimeádán stórála áit ar féidir leat sonraí poist a chur leis mar go mbaintear iad as an ábhar HTML. Cinntíonn an modh seo go mbailítear an fhaisnéis go córasach agus go bhfuil sé inrochtana go héasca le haghaidh tuilleadh próiseála nó anailíse.
job_details = []
Tar éis iarratas HTTP GET a sheoladh, is é an chéad chéim eile an t -ábhar HTML a pharsáil ag baint úsáide as leabharlann LXML. Cuirfidh sé seo ar ár gcumas nascleanúint a dhéanamh tríd an struchtúr HTML agus na sonraí a theastaíonn uainn a bhaint.
# Socraigh gníomhaire randamach úsáideora agus seachvótálaí le modh údaraithe IP
headers['user-agent'] = random.choice(user_agents)
proxies = {
'http': IP:PORT,
'https': IP:PORT
}
# Seol iarratas http Get chuig an URL
response = requests.get(url=url, headers=headers, proxies=proxies)
parser = html.fromstring(response.content)
Nuair a dhéantar an t -ábhar HTML a pharsáil, is féidir linn sonraí poist ar leith a bhaint amach mar theideal, ainm na cuideachta, suíomh, agus URL poist ag baint úsáide as ceisteanna XPath. Stóráiltear na sonraí seo i bhfoclóir agus cuirtear i gceangal le liosta iad.
# Sliocht Sonraí Poist ón Ábhar HTML
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)
Tar éis na sonraí poist a bhailiú, sábháil é chuig comhad 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)
Seo an cód iomlán, ag comhcheangal na rannóga go léir thuas:
from selenium.webdriver.chrome.options import Options
from seleniumwire import webdriver as wiredriver
from selenium.webdriver.common.by import By
import csv
# Sonraigh an seoladh seachfhreastalaí le hainm úsáideora agus pasfhocal
proxy_address = ""
proxy_username = ""
proxy_password = ""
# Roghanna Chrome a chur ar bun leis an seachvótálaí agus an fíordheimhniú
chrome_options = Options()
chrome_options.add_argument(f'--proxy-server={proxy_address}')
chrome_options.add_argument(f'--proxy-auth={proxy_username}:{proxy_password}')
# Cruthaigh cás Webdriver le sreangán seiléiniam
driver = wiredriver.Chrome(options=chrome_options)
url = 'https link'
# Déan do uathoibriú seiléiniam le cumais fheabhsaithe na seiléiniam-sreang
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()
Tugann sonraí a bhaint as LinkedIn ag baint úsáide as Python leis na hiarratais agus leabharlanna LXML bealach cumhachtach chun anailís a dhéanamh ar an margadh fostaíochta agus ar phearsanra earcaíochta. Chun próiseas scríobtha réidh a chinntiú, baintear úsáid as seachvótálaithe Datacenter le luas ard, chomh maith le seachvótálaithe ISP le fachtóir iontaobhais níos airde, a laghdaíonn an baol bloic ar ghníomhartha uathoibrithe.
Tuairimí: 0