繁体   English   中英

提取职位描述链接

[英]Extracting job description linkedin

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

工作页面示例

我设法获得了职位、公司、地点,因为每个跨度都有他们的班级名称。 我很难得到工作描述,因为他们没有适合他们的课程。 他们的部分描述也位于列表中。 我尝试使用绝对 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

知道如何获得整个描述吗? 谢谢之前

在我意识到我可以提取整个 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM