Selenium爬取拉勾网职位信息

拉勾网的反爬虫机制较强。数据加载采取的时异步AJAX技术,使用requests不能在网页源代码中直接找到职位信息的url,当然可以间接找到。这里我采取的是Selenium方法爬取拉勾网的职位信息,相比requests而言,在处理含有AJAX技术的网站时,Selenium会显得更加灵活、稳定!
这里我定义了一个LagouSpider()类,里面包含五个方法,将所有流程分成了五个步骤:

  1. 导入相应模块
  2. run()方法:分页设置,将单页源码传给parse_list_page()
  3. parse_list_page()方法:获取单页所有公司职位信息的url,将值依次传给request_detail_page()方法
  4. request_detail_page()方法:打开相应的url页面,获取其中的源码,将其传给parse_detail_page()方法后关闭
  5. parse_detail_page()方法:详细解析单个公司的职位信息

1.导入相应模块

设置驱动浏览器,设置初始url,这里设置的初始url是"https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput="
在这里插入图片描述

2.run():分页设置

这里需要注意:
1.Selenium自动登录拉勾网时会出现一个"给也不要"的窗口,这里我们设置自动点击
2.设置页面等待,确保没有数据时出现阻塞现象,确保在网页加载过程中没有数据而抛出异常

在这里插入图片描述

3.Parse_list_page():

在这里插入图片描述

4.Request_detail_page():

这里需要注意的是:打开页面的方式应该用execute_script(),并且通过switch_to.window()方法跳转到新页面,而不是用get()方法,get()方法会重置页面,进而实现不了对多个页面的爬取。
在这里插入图片描述

5.parse_detail_page():

得到request_detail_page()传递的源码,解析职位信息
在这里插入图片描述
以上代码就能实现Selenium爬取拉勾网的功能,看看爬取效果:
在这里插入图片描述
这些,就是我爬取拉勾网的心得体会,若是觉得有值得改进的地方,欢迎下方评论。
最后,声明一点,此爬虫的目的仅供学术研究,万不可做一些违法乱纪的事情哦。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值