会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132359个问题
Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬 781楼

老师 第一的运行结果为啥是空值,而第二个就能运行出来

from lxml import etree
import  requests
url="https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4"
headers={ 'Host':'book.douban.com',
  'Upgrade-Insecure-Requests':'1',
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36'
}
req = requests.get(url=url,headers=headers)
content = req.text
content_dict=etree.HTML(content)    #格式化
title_list = content_dict.xpath(r'div[2]/h2/a/@title')

for title in title_list:
    print(title)
from lxml import etree
import  requests
url="https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4"
headers={ 'Host':'book.douban.com',
  'Upgrade-Insecure-Requests':'1',
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36'
}
req = requests.get(url=url,headers=headers)
content = req.text
content_dict=etree.HTML(content)    #格式化
title_list = content_dict.xpath(r'div[2]/h2/a/@title')

content_dict_allli = content_dict.xpath(r'//*[@id="subject_list"]/ul/li')  #拿到列表
info_all = ''

for li in content_dict_allli:
   # 书名/标题
    title_list = li.xpath(r'div[2]/h2/a/@title')    #取标签里的内容,注意地址是相对地址,不能直接拿来用 (注:和bs4不一样)
    title =title_list[0]
    title=title.replace(" ",'')
    print(title)


Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬- 783楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬 785楼
Python 全系列/第十五阶段:Python 爬虫开发/动态数据抓取 787楼
Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用 788楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 789楼

代码:

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条数据,麻烦老师帮我看看我的代码哪里出错了?

Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬- 791楼
Python 全系列/第十五阶段:Python 爬虫开发/Python爬虫基础与应用 794楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 795楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637