爬虫:selenium+无窗口模式Chrome爬取拉勾网

1.我的目的

  • 拉勾网搜索任意关键词,将其搜索的职位详细信息(职位名、公司、薪资、职位要求、职位职责)保存进txt文件,格式如下在这里插入图片描述

2.实现过程

  • ① 初始化浏览器驱动
	chormedriver_path = r"D:\xxxxx\chrome_driver\chromedriver.exe"
  • ② 设为无界面模式(PhantomJS在当前python已被取代,因为各个浏览器都出了自己的无窗口模式)
	chrome_options = Options()
 	chrome_options.add_argument('--headless')
 	chrome_options.add_argument('--disable-gpu')
  • ③ 打开拉勾网官网

  • ④ 因为打开拉勾网可能会弹出选择城市的页面,这里需要进行判定选择在这里插入图片描述

  • ⑤ 找到输入框---->输入关键词----->点击搜索
    在这里插入图片描述

  • ⑥ 点击当前页每一个职位—>在职位具体信息页面获取我们需要的信息—>关闭这个页面----->页面返回职位列表页面(因为即使页面关闭了当前页url也不会自动更改)----->判断下一页是否可点击----->可点击则进入下一页---->(重复上述操作,直到下一页无法点击)

    • 关键一:浏览器回到上一页
    html_driver.switch_to.window(html_driver.window_handles[1])
    

    关键二:判断下一页是否存在

    next_page_disable = html_driver.find_elements_by_class_name('pager_next_disabled')
    next_page_enable = html_driver.find_elements_by_class_name('pager_next ')
    print(len(next_page_disable))
    print(len(next_page_enable))
    if len(next_page_disable) == 1:
        break  # 结束
    else:
        next_page_enable[0].click()  #点击下一页
    
  • ⑦ 很多时候因为网络或者电脑服务器原因导致获取某一个网页速度不达预期,为了避免这种问题导致程序异常,最好在执行了跳转等操作之后先进行判断新的元素是否成功加载,如果加载成功则往下执行。

3.代码

  • 地址: https://github.com/zkyws/spider
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值