我目前正在使用python shell中的selenium抓取Linkedin Job目录
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get('https://www.linkedin.com/jobs/search?locationId=sg%3A0&f_TP=1%2C2&orig=FCTD&trk=jobs_jserp_posted_one_week')
a = driver.find_elements_by_class_name('job-title-text')
b = driver.find_elements_by_class_name('company-name-text')
c = driver.find_elements_by_class_name('job-location')
d = driver.find_elements_by_class_name('job-description')
#There are 50 pages of jobs therefore I specified a range of 55
for e in range(55):
for g in a:
print(g.text)
for h in b:
print(h.text)
for i in c:
print(i.text)
for j in d:
print(j.text)
k = driver.find_element_by_class_name('next-btn')
k.click()
Job = []
Job.append(a)
Job.append(b)
Job.append(c)
Job.append(d)
for e in range(55):
for l in Job:
print(l.text)
k = driver.find_element_by_class_name('next-btn')
k.click()
此代码无效,我一直在努力并尝试各种方法来解决此问题。如果我能得到正确的解决方案,那就太好了。
答案 0 :(得分:0)
那是因为你会在Job
获得多维数组。
尝试替换
Job.append(a)
Job.append(b)
Job.append(c)
Job.append(d)
带
Job += a
Job += b
Job += c
Job += d
答案 1 :(得分:0)
我认为这是因为变量“a”是一个列表。 您可以调试以查看“作业”列表中的内容。 我认为你的代码中的Job列表就像这个Job = [[a],[b],[c],[d]]。