一般说起来python,大概有很多人第一个印象就是python爬虫,
因为python的有关于此的第三方库非常完善,而且相比于其他语言中动辄几百行上千行的代码量,想用python写一个爬虫是很容易的,一只简单的爬虫只需要几分钟就能实现。
对于已经了解了爬虫是什么,只是想知道怎么做的朋友,可以直接跳到下一篇文章。
首先就来说一下爬虫的概念吧。
要知道爬虫是什么,首先就要明确一个概念:什么是网页?对于一般用户来说,网页就是由一串网址定位的能够通过浏览器访问的页面。这么想其实也没什么不对,毕竟网页直接展示出来的就是这样,但是,其实这种展示出来的网页并不是网页的真正面目。真正的网页是由html文档定义的,一串标签嵌套而成的代码,经过浏览器的处理,才展现出丰富多彩的样子。在任何页面按f12,或者右键,开发者模式/查看源代码,就能看到这个网页的本来面目。
看着有点晕?没关系,html文档定义了网页的所有内容,但这里面大部分的信息都不是我们要关注的。在爬虫的编写过程中,我们会忽略大部分的内容,只关心我们需要的信息。
说到这里基本大家也对爬虫有个模糊的概念了吧?爬虫就是在html文档上找到我们需要的信息的程序。
或许会有人问:我们为什么要用爬虫?想要什么信息不能直接复制吗?
当然可以,对于一般的简单的一段话,甚至是像本文一样的一篇文章,全选复制确实是最快的方法,但是想象一下:我想要把我的网易云的歌单里每一首歌的歌名储存到一个本地的文本文档里,或者我想分析一下最近股票的形式,这时候手工的效率就远远不如程序了。
爬虫主要分为两种:定向爬虫(或聚焦爬虫)和通用爬虫。
定向网络爬虫,顾名思义,就是有着特定的应用场景(比如上面说的网易云的歌单),爬取一个或者几个网页的信息的爬虫,而通用爬虫就是如同搜索引擎一样,能够通过网页中的url定位下一个网页,扩散地爬取所有网页的信息的爬虫。