最近在研究区块链,闲来无事抓取了拉勾网上450条区块链相关的招聘信息。过程及结果如下。
拉勾网爬取
首先是从拉勾网爬取数据,用的requests
库。拉勾网的反爬虫做的还是比较好的,毕竟自己也知道这种做招聘信息聚合的网站很容易被爬,而且比起妹子图这种网站,开发的技术水平应该高不少。
一开始爬取几个数据后就会跳转到登陆页面,当时采用的应对策略是:当跳转到登陆页面的时候,就挂起20s,再重新请求一次,发现一般挂起一段时间之后就又可以访问了。这样的问题是比较慢,450条信息花了几十分钟。
后来,我天真地认为:只要登陆了就可以不用挂起等待这么久。于是,添加了模拟登陆地逻辑,主要参考地这篇文章:python – 拉勾网爬虫模拟登录 - CSDN博客。拉勾网对密码做了两次md5加密,并会下发动态地Token口令,防止低级地伪造请求,需要仔细分析登陆界面加载的JS文件才能成功登陆,拿到Cookie。想起当年模拟登陆教务处,学号密码都是明文传输,我直接用F12工具能看到。。。成功拿到Cookie后发现,访问过快时又会跳转到首页,并弹出一个“切换城市”的悬浮窗,更准确地说是我的请求被重定向了。
为