从零开始写一只爬虫 · 开篇


发布于

|

分类

,

爬虫

对于爬虫,其实大二暑假就玩过一些的。当时是为给某老师的项目组做数据采集模块,谁知道后来目的越来越不明确,加上开会时间都是老师在吹牛,导致整个项目组成了光杆司令。后来知道他又在拿这个任务“祸害”整整一届人,我就把已经写好的代码传给了下一届。至于最后得什么奖啊吧啦吧啦吧啦都与我无关。既然选择了放弃,就Let It Go吧。

当时自己手写过一个小的虫子,最后决定用了WebMagic这个垂直爬虫框架。而对于过于强大的Apache Nutch,由于时间关系没有涉足。

今年假期里面,有一个项目又用到了爬虫。先拿Python写了一个,跑得很溜,但最后整个项目必须用Java交付。于是又用起了WebMagic……

闲言少叙。下面进入正题。

什么是爬虫?

看一下墙上的蜘蛛:它在“网”上面爬行着,发现网上面有了猎物,就去把它吃掉。互联网就是一个大网啊。还记得有个著名的理论叫做“六度分离理论”么?每个人和这个世界上的其他人都是有联系的。同样的,每一张网页,和整个互联网都是有联系的。我们可以通过访问一个网页,获取这个网页里面自己感兴趣的内容,同时“点击”网页中的链接,打开却更多的网页,获取更多的内容。Ok,爬虫就是来做“打开链接、获取内容”工作的。

比如说,我想获取到某个招聘网站上所有的公司名称(很奇怪的兴趣,是吧?),我可以一个网页一个网页得打开、复制、保存,也可以将这个枯燥而无味的工作交给爬虫来自动化地解决。只需要设置一个“开始”,爬虫便能自动地打开这个招聘网站上的每一个链接,找到每一个公司,获取想要的信息,然后保存下来。

更加官方的解释可以看维基百科爬行动物哦不对是网络蜘蛛。似乎百度百科上面的解释更全面一些?

工欲善其事,必先利其器。

不得不承认Java是一条好狗,但是我就是不想用Java,无缘无故地讨厌Java。于是本次教程便使用简洁优雅的Python了。

哦对了,Python还分2.X和3.X,作为一个不用最新版就会死星人……嗯你懂。虽然Ubuntu里面2.7和3.4是共存的,虽然我也会很强迫症地把所有东西都pip安装一遍,pip3安装一遍。

IDE方面,刚刚申请到了InteliJ学生账号,正好拿来得瑟一番。但是,得瑟的代价是严重的,PyCharm对电脑性能的要求太高了……很卡……6G内存卡严重的时候,上个厕所回来还在卡。

这次就以抓取某招聘网站的所有公司名称和所在地为例了啊~~

当然,后面为了演示登录功能,会以抓取某个dns网站为例子。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注