从LinkedIn中删除职务

2024-05-20 15:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我的代码-如果我在LinkedIn中搜索职位(例如Cyber Analyst),将收集此职位公告/页面的所有链接

目标-我将这些链接放在一个列表中,并对它们进行迭代(到目前为止代码仍然有效)以打印每个职位公告/链接的标题

我的代码遍历每个链接,但不获取帖子标题/职务标题文本。这就是目标

import time

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
test1=[]

options = Options()
options.headless = True
driver = webdriver.Chrome(ChromeDriverManager().install())


url = "https://www.linkedin.com/jobs/search/?currentJobId=2213597199&geoId=103644278&keywords=cyber%20analyst&location=United%20States&start=0&redirect=false"
driver.get(url)
time.sleep(2)
elements = driver.find_elements_by_class_name("result-card__full-card-link")
job_links = [e.get_attribute("href") for e in elements]

for job_link in job_links:
    test1.append(job_link) #prints all links into test1

for b in test1:
    driver.get(b)
    time.sleep(3)
    element1=driver.find_elements_by_class_name("jobs-top-card__job-title t-24")
    title=[t.get_attribute("jobs-top-card__job-title t-24") for t in element1]
    print(title)

Tags: 代码inimport标题forgettitle链接
1条回答
网友
1楼 · 发布于 2024-05-20 15:27:25

我在链接页面上看不到class 'obs-top-card__job-title t-24',但这会为您提供每个href的职位名称

改变

element1=driver.find_elements_by_class_name("jobs-top-card__job-title t-24")
title=[t.get_attribute("jobs-top-card__job-title t-24") for t in element1]

element1=driver.find_elements_by_class_name("topcard__title")
title=[t.text for t in element1]


>>> ['Cyber Threat Intelligence Analyst']
>>> ['Jr. Python/Cyber Analyst (TS/SCI)']
>>> ['Cyber Security Analyst']
....ect

每次执行driver.get(b)都会获取一个新页面,因此html代码与driver.get(url)不同,因此我认为t.get_attribute("jobs-top-card__job-title t-24")属于driver.get(url)的html代码,但正如我所说,此页面在获取driver.get(b)时关闭

而且driver.get(b)的每个页面都具有相同的结构,因此element1=driver.find_elements_by_class_name("topcard__title")将始终有效

例如,这是^{的一页:

enter image description here

这就是 topcard_title所在的位置

enter image description here

相关问题 更多 >