代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
options=webdriver.ChromeOptions()
options.add_argument('--headless')
chrome=webdriver.Chrome(options=options)
url="https://www.lagou.com/zhaopin/Python/?filterOption=3&sid=9146e755a7bf4f6dac59edd3e7d43127"
sleep(2)
chrome.get(url)
html=chrome.page_source
print(html)
while True:
job = chrome.find_elements(By.XPATH, '//div[@class="p_top"]//h3')
point = chrome.find_elements(By.XPATH, '//span[@class="add"]//em')
salary = chrome.find_elements(By.XPATH, '//div[@class="li_b_l"]//span[@class="money"]')
company = chrome.find_elements(By.XPATH, '//div[@class="company_name"]/a')
industry = chrome.find_elements(By.XPATH, '//div[@class="industry"]')
n = len(job)
with open(r"job5.txt", "a", encoding="utf-8") as f:
for i in range(n):
f.write((job[i].text).strip())
f.write("\t")
f.write((point[i].text).strip())
f.write("\t")
f.write((salary[i].text).strip())
f.write("\t")
f.write((company[i].text).strip())
f.write("\t")
f.write((industry[i].text).strip())
f.write("\n")
if html.find('page_no') != -1:
chrome.find_element_by_class_name('page_no').click()
sleep(3)
else:
break
chrome.quit()运行结果:
高级爬虫工程师() 杭州滨江区 丁香园 医疗丨健康企业服务 轮及以上 人
开发工程师 上海长宁区 信飞数科信用飞首付游 科技金融 轮 人
开发工程师 上海徐汇区 问卷网众言科技 工具类产品 轮 人
开发 上海徐汇区 问卷网众言科技 工具类产品 轮 人
开发工程师 北京知春路 天眼查 数据服务|咨询 不需要融资 人
开发工程师 东莞东莞市东莞美信 汽车丨出行 上市公司 人以上
开发工程师 杭州余杭区 和骏出行 移动互联网 天使轮 人
开发工程师 上海徐汇区 上海江煦信息科技 软件服务|咨询 不需要融资 人
开发工程师 杭州西湖区 涂鸦智能 物联网智能硬件 轮 人以上
高级开发工程师 上海长宁区 信飞数科信用飞首付游 科技金融 轮 人
开发工程师 上海张江 仑动科技 企业服务人工智能 未融资 少于人
开发工程师 广州白云区 东莞美信 汽车丨出行 上市公司 人以上
开发工程师 深圳前海 易博天下 软件服务|咨询 上市公司 人
开发工程师 广州海珠区 派客朴食 移动互联网电商 不需要融资 人
上海浦东新北纬三十度 电商平台 未融资 人
高级爬虫工程师() 杭州滨江区 丁香园 医疗丨健康企业服务 轮及以上 人
开发工程师 上海长宁区 信飞数科信用飞首付游 科技金融 轮 人
开发工程师 上海徐汇区 问卷网众言科技 工具类产品 轮 人
开发 上海徐汇区 问卷网众言科技 工具类产品 轮 人
开发工程师 北京知春路 天眼查 数据服务|咨询 不需要融资 人
开发工程师 东莞东莞市东莞美信 汽车丨出行 上市公司 人以上
开发工程师 杭州余杭区 和骏出行 移动互联网 天使轮 人
开发工程师 上海徐汇区 上海江煦信息科技 软件服务|咨询 不需要融资 人
开发工程师 杭州西湖区 涂鸦智能 物联网智能硬件 轮 人以上
高级开发工程师 上海长宁区 信飞数科信用飞首付游 科技金融 轮 人
开发工程师 上海张江 仑动科技 企业服务人工智能 未融资 少于人
开发工程师 广州白云区 东莞美信 汽车丨出行 上市公司 人以上
开发工程师 深圳前海 易博天下 软件服务|咨询 上市公司 人
开发工程师 广州海珠区 派客朴食 移动互联网电商 不需要融资 人
上海浦东新北纬三十度 电商平台 未融资 人
问题:
老师请问一下,我使用的是selenium来爬取拉勾网上的关于python的职位,第一页中的数据是从高级python爬虫工程师(Insight)15k-25k到python上海.浦东新区15k-30k,当我爬取完一页以后我就用chrome中的click方法点击进入下一页继续爬取,我使用的是while True循环来实现的,可是为什么当我点击进入下一页以后爬取的还是第一页的15条数据,每次都是在重复爬取第一页的15条数据,麻烦老师帮我看看我的代码哪里出错了?