提取职位描述LinkedIn

发布于 2025-02-04 10:48:09 字数 2036 浏览 1 评论 0 原文

我试图提取职位,公司,位置和描述。

作业页面的示例

我设法获得了职位标题,公司,位置,因为每个跨度都有其类名称。 我很难获得职位描述,因为他们没有课程。他们的描述的一部分也位于列表中。我尝试使用绝对XPath提取文本,它不起作用。

from io import StringIO
from parsel import Selector
from time import sleep
from selenium.webdriver.edge.service import Service
from selenium import webdriver
driver = webdriver.Edge('C:/Users/users/Downloads/edgedriver_win64/msedgedriver.exe')

#accessing linkedin
driver.get('https://www.linkedin.com')

# login
username = driver.find_element_by_name('session_key')
username.send_keys(parameter.email)
password = driver.find_element_by_name('session_password')
password.send_keys(parameter.password)
submit = driver.find_element_by_class_name('sign-in-form__submit-button')
submit.click()
sleep(2)

driver.get(parameter.siteQuery)
sleep(5)
wait = WebDriverWait(driver, 20)
links = driver.find_elements_by_xpath("//a[@class='disabled ember-view job-card-container__link']")
links =[link.get_attribute("href") for link in links]
sleep(1)


for link in links :
    driver.get(links)
    sleep(5)
    # moreinfo =driver.find_element_by_class_name('artdeco-card__action')
    # moreinfo.click()
    sel= Selector(text=driver.page_source)
    title = sel.xpath('//h1[@class="t-24 t-bold"]/text()').extract()
    company = sel.xpath('//span[@class="jobs-unified-top-card__company-name"]/text()').extract()
    location = sel.xpath('//span[@class="jobs-unified-top-card__bullet"]/text()').extract()
    description = sel.xpath('/html/body/div[6]/div[3]/div/div[1]/div[1]/div/div[2]/article/div/div[1]/span/text()').extract()

我尝试提取直式div也无法使用,

description = sel.xpath('//*[@id="jobs-details"]/span/text()').extract()

我使用parsel.Selector和Selenium

知道如何获取整个描述? 谢谢

i tried to extract job title, company, location and description.

example of job page

i managed to get job title, company, location since each span has their class name.
i struggle to get job description because they don't have class for their span. part of their description also located in a list. i tried to extract text using absolute xpath it doesn't work.

from io import StringIO
from parsel import Selector
from time import sleep
from selenium.webdriver.edge.service import Service
from selenium import webdriver
driver = webdriver.Edge('C:/Users/users/Downloads/edgedriver_win64/msedgedriver.exe')

#accessing linkedin
driver.get('https://www.linkedin.com')

# login
username = driver.find_element_by_name('session_key')
username.send_keys(parameter.email)
password = driver.find_element_by_name('session_password')
password.send_keys(parameter.password)
submit = driver.find_element_by_class_name('sign-in-form__submit-button')
submit.click()
sleep(2)

driver.get(parameter.siteQuery)
sleep(5)
wait = WebDriverWait(driver, 20)
links = driver.find_elements_by_xpath("//a[@class='disabled ember-view job-card-container__link']")
links =[link.get_attribute("href") for link in links]
sleep(1)


for link in links :
    driver.get(links)
    sleep(5)
    # moreinfo =driver.find_element_by_class_name('artdeco-card__action')
    # moreinfo.click()
    sel= Selector(text=driver.page_source)
    title = sel.xpath('//h1[@class="t-24 t-bold"]/text()').extract()
    company = sel.xpath('//span[@class="jobs-unified-top-card__company-name"]/text()').extract()
    location = sel.xpath('//span[@class="jobs-unified-top-card__bullet"]/text()').extract()
    description = sel.xpath('/html/body/div[6]/div[3]/div/div[1]/div[1]/div/div[2]/article/div/div[1]/span/text()').extract()

i tried extracting straight form div also didn't work

description = sel.xpath('//*[@id="jobs-details"]/span/text()').extract()

i use parsel.Selector and Selenium

any idea how to get the whole description?
thanks before

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

意中人 2025-02-11 10:48:09

我意识到我可以提取整个HTML元素后,我就会弄清楚。因此,我只需全面跨度,然后

从跨度中清理清洁:

descriptions = sel.xpath('//*[@id="job-details"]').extract()
listDescriptions.append(descriptions[0])

清洁数据:

listDescriptions2=[]
for description in listDescriptions :
    description = BeautifulSoup(description,features='html.parser').text
    description = re.sub(r'\n', '', description)
    listDescriptions2.append(description)

i figure it out after i realize i can just extract the whole html elements. so i just take the whole span and then clean them later

Extracting from span :

descriptions = sel.xpath('//*[@id="job-details"]').extract()
listDescriptions.append(descriptions[0])

Cleaning the data :

listDescriptions2=[]
for description in listDescriptions :
    description = BeautifulSoup(description,features='html.parser').text
    description = re.sub(r'\n', '', description)
    listDescriptions2.append(description)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文