赞
踩
本笔记写于2020年2月4日。Python版本为3.7.4,编辑器是VS code
主要参考资料有:
Python官方文档
PS:如果笔记中有任何错误,欢迎在评论中指出,我会及时回复并修改,谢谢
问题描述
看B站学习视频的时候,老师讲得第一个实战也就是爬取拉勾网数据是怎么也爬取不下来,弹幕里的方法也都不管用。所以开始求助伟大的度娘,度娘中大部分的解决方法都是使用requests库来爬取的,但目前只学习的urllib库,所以没办法采用。
但是,我注意到了一个非常重要的细节,就是爬取不下来数据的原因。拉勾网的Cookie中使用了时间戳,简单的说,就是拉钩网的cookie中有一个cookie是专门设置时间值的。
正常浏览器访问页面的时候,浏览器首先获取到了python职位页面对应的HTML文本,再根据HTML文本中的链接请求相应的各种其他数据,然后通过JS代码将其复原为完整页面。正常请求过程中,这个速度是非常快速的,时间值并不会过期。也就是说,时间值的设置对于拉勾网的正常访问不会有任何影响。
但如果按照老师的视频中所说的,我们直接去爬取保存着职位信息的json数据,就算是复制了所有的响应头也没有用,因为cookie中的时间值已经过期了。服务器接受到这种爬虫请求后,就会返回您操作太频繁,请稍后再访问这句话了。
解决办法
爬取拉勾网数据的关键就是快,只要时间戳没有超期就可以爬取成功。
我们这里分三个步骤:
爬取拉勾网的Python职位页面
提取上面爬取到页面的时间戳cookie
将时间戳c
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。