周末没事,想看看最近的职位招聘情况,就用拉勾网为例,练习下爬虫
分析
首先去拉勾网的主页去观察下,
当前的搜索页面URL:
观察下源码,发现结构很清晰,解析起来应该很方便,再通过下一页去遍历即可
通过上面的,我们直接去解析应该是足够了,我们再看下他的请求信息,会找到这样一个post,
很明显,这个pn应该就是页码(多查询几次观察下可以确认)
这个应该就是查询的请求,看看结果集,就是我们想要的数据
所以,如果我们直接去请求json数据,然后解析下就行了
要注意的小问题
写的时候,主要遇到几个问题,
2.1 直接请求的话,不行,会被拦截,关于拉勾网,网上的例子很多,这里测试的时候,只要加上header就行了,其他的不需要
headers = {‘User-Agent’:r’Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0’,’Referer’:r’https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?labelWords=&fromSearch=true&suginput','Host':'www.lagou.com'}2.2 json的结果集中,有总条数和每页条数,根据这2点,我们可以算出总页数
- 2.3 解析json就行了
- 2.4 在 循环的时候,sleep了5秒,因为一直查询偶尔会报错,估计是被拦截了
代码
下面分享下,第一版代码,后面再优化: