学习编程总是以项目作为驱动的,这两天了解了一下python中的urllib库的使用方法,就像着能不能做一点东西出来,刚好看到了拉勾网,不经对它有了想法。如果上天能再给我一次机会我一定不会选拉钩网的,这简直是给自己挖坑,说多了都是泪。
首先,我们打开谷歌浏览器,打开拉勾网,本文我们以python相关的职位为例子,其他的职位类似,输入python后我们将看到如下的职位信息:
通过chrome浏览器的调试功能我们可以发现,网页其实做了一个重定向,也就是我们在浏览器上看到的url其实不是我们的目标url,这里是第一个坑,我们不难找到我们的目标url。下图红色圆圈中的即为目标url。
现在我们离目标又更近了一步,现在我们根据目标url重新访问拉勾网,你以为现在就可以获取网页源代码了嘛,太天真了,我们查看网页源代码发现并没有我们想要的数据,通过查(搜)资(百)料(度)我们得知,拉勾网是通过异步加载的方式来获取数据的。
通过进一步分析我们发现,拉勾网通过post请求向服务器发送数据,服务器返回一个json字符串,字符串中存储着我们想要的数据。通过解析json我们就可以得到想要的东西。
写完代码进行爬取的时候我们还会遇到一个大坑,就是当你同一个ip请求次数很多的时候他会显示访问太过频繁,为了解决这个问题,我爬取了西刺代理的首页上的所有代理实现了动态更换ip,这样我们就可以爬取到30页的全部数据。下面是这个爬虫脚本的全部代码。
---END---
领取专属 10元无门槛券
私享最新 技术干货