当数据来自不同位置时,如何关联字典键和值-Python 3.5/bs4/Selenium
(我是一个新手,所以也许有更好的方法使用其他模块来实现这一点?) 我试图将键与值关联起来,但数据来自两个不同的输入 在我的工作列表的目标网页上,每个工作都有一个工作标题和一个工作描述。两者都是文本,但职务名称还包含指向具有较长描述的唯一网页的链接 我试图做的是下载职位名称,将其与职位描述相关联(然后在关键/价值记录中添加某种唯一的id,可能基于工作邀请的url。一旦我有了这个id,我想将所有这些数据点发送到xls表中,以便验证/删除和存储副本) 我检查了其他答案,但它们超出了我的技术水平,或者不是我所需要的。我想我需要使用循环或函数,但不确定要在其中写入什么。谢谢你的帮助当数据来自不同位置时,如何关联字典键和值-Python 3.5/bs4/Selenium,python,selenium,Python,Selenium,(我是一个新手,所以也许有更好的方法使用其他模块来实现这一点?) 我试图将键与值关联起来,但数据来自两个不同的输入 在我的工作列表的目标网页上,每个工作都有一个工作标题和一个工作描述。两者都是文本,但职务名称还包含指向具有较长描述的唯一网页的链接 我试图做的是下载职位名称,将其与职位描述相关联(然后在关键/价值记录中添加某种唯一的id,可能基于工作邀请的url。一旦我有了这个id,我想将所有这些数据点发送到xls表中,以便验证/删除和存储副本) 我检查了其他答案,但它们超出了我的技术水平,或者不
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.infojobs.net/jobsearch/search-results/list.xhtml#f1=1&item_showFilters=false&item_showExtraFilters=false&f2=20&f3=&f4=0&f5=&f6=9&f7=&f8=0&f9=0&f10=0&f11=0&f12=&f13=true&f14=true&f15=10&f16=true&f17=&f18=&f19=0&f20=4&f21=3002&f22=0&f23=26931879312&f24=0&f25=&f26=0&f27=false&f28=&f29=1&f30=&f31=-2147483648&f32=-2147483648&f34=&item_vieneUrlExecutive=false")
text_offer_description = driver.find_elements_by_class_name('job-list-description')
text_offer_title = driver.find_elements_by_class_name('job-list-title')
dict = []
for el in text_offer_title:
dict.append(el.text)
print(el.text)
# If/else? Here I'll check if value already in dict or not
# barcode = driver.current_url (will assign a "barcode" to that key-value pair)
# print(barcode)
driver.close()
主要问题是标题和描述之间没有关联。我会找到所有“工作”块,每个块都有标题和描述:
for offer in driver.find_elements_by_css_selector("ul#offer-list > li[itemType$=JobPosting]"):
text_offer_description = offer.find_element_by_css_selector('p.job-list-description').text
text_offer_title = offer.find_element_by_css_selector('h2.job-list-title a').text
print(text_offer_description, text_offer_title)
主要问题是标题和描述之间没有关联。我会找到所有“工作”块,每个块都有标题和描述:
for offer in driver.find_elements_by_css_selector("ul#offer-list > li[itemType$=JobPosting]"):
text_offer_description = offer.find_element_by_css_selector('p.job-list-description').text
text_offer_title = offer.find_element_by_css_selector('h2.job-list-title a').text
print(text_offer_description, text_offer_title)
谢谢@Alecxe这很好,但我正在试图找到一种方法来关联这两个值,我不知道如何完成您在这里解释的内容。我如何以编程方式表达“对于此报价和描述块,将它们放在一起,并为它们提供唯一ID”(这样我以后可以对它们进行操作,而不会对我以前已经执行过的操作进行操作。例如,如果我以前访问/存储过此报价,请跳过。如果没有,请使用此新ID添加到字典中,然后继续程序“…谢谢@Alecxe这很好,但我正在试图找到一种方法来关联这两个值,我不知道如何完成您在这里解释的内容。我如何以编程方式表达”对于这段提供和描述,请将它们放在一起,并为它们提供此唯一ID”(因此,我以后可以对它们进行操作,而不会对我以前已经执行过的操作进行操作。例如,如果我以前访问/存储过此优惠,请跳过。如果没有,请使用此新id添加到词典中,然后继续执行程序”。。。