抓取 LinkedIn 职位要求

Scraping Linkedin Job Requirements

我是 Python 的新手,我希望这里有人能帮助我。我正在构建一个程序,作为我学习从 linkedin 招聘广告中抓取信息的一部分。到目前为止,它进展顺利,但似乎在这个特定问题上遇到了障碍。我正在尝试抓取 完整的职位描述,包括资格 。我已经确定了描述的 xpath,并且可以通过以下方式引用它:

desc_xpath = '/html/body/main/section/div[2]/section[2]/div'

这为我提供了几乎所有职位描述信息,但不包括 linkedin 职位简介的 qualifications 部分。我提取了每个工作简介的高层次、冗长的元素,但是进一步的深入研究,如职责、资格、额外资格似乎并没有被这个参考所拉动。

有人能帮忙吗?

亲切的问候

D

示例代码

driver.get('https://www.linkedin.com/jobs/view/etl-developer-at-barclays-2376164866/?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic&originalSubdomain=uk')

time.sleep(3)

#job description
jobdesc_xpath = '/html/body/main/section[1]/section[3]/div/section/div'

job_descs = driver.find_element_by_xpath(jobdesc_xpath).text

print(job_descs) ```

Selenium 努力让文本位于不同的子标签中。您可以尝试使用 html 解析器,例如 BeautifulSoup。试试这个:

from bs4 import BeautifulSoup

url = 'https://www.linkedin.com/jobs/view/etl-developer-at-barclays-2376164866/?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic&originalSubdomain=uk'
driver.get(url)
#Find the job description
job_desc = driver.find_element_by_xpath('//div[@class="show-more-less-html__markup show-more-less-html__markup--clamp-after-5"]')
#Get the html of the element and pass into BeautifulSoup parser
soup = BeautifulSoup(job_desc.get_attribute('outerHTML'), 'html.parser')
#The parser will print each paragraph on the same line. Use 'separator = \n' to print each each paragraph on a new line and '\n\n' to print an empty line between paragraphs
soup.get_text(separator='\n\n')