python为什么叫爬虫?

2021-02-03 14:07:23 浏览数 (5480)

爬虫通常指的是网络爬虫,就是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。因为 python 的脚本特性,python 易于配置,对字符的处理也非常灵活,加上 python 有丰富的网络抓取模块,所以两者经常联系在一起。

在进入文章之前,我们首先需要知道什么是爬虫。爬虫,即网络爬虫,大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到自己的猎物(所需要的资源),那么它就会将其抓取下来。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。不容易理解的话其实可以通过下面的图片进行理解:

因为 python 的脚本特性,python 易于配置,对字符的处理也非常灵活,加上 python 有丰富的网络抓取模块,所以两者经常联系在一起。Python 爬虫开发工程师,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

作为一门编程语言而言,Python 是纯粹的自由软件,以简洁清晰的语法和强制使用空白符进行语句缩进的特点从而深受程序员的喜爱。举一个例子:完成一个任务的话,c 语言一共要写1000行代码,java 要写100行,而 python 则只需要写20行的代码。使用 python来完成编程任务的话编写的代码量更少,代码简洁简短可读性更强,一个团队进行开发的时候读别人的代码会更快,开发效率会更高,使工作变得更加高效。

这是一门非常适合开发网络爬虫的编程语言,而且相比于其他静态编程语言,Python 抓取网页文档的接口更简洁;相比于其他动态脚本语言,Python 的 urllib2 包提供了较为完整的访问网页文档的 API。此外,python 中有优秀的第三方包可以高效实现网页抓取,并可用极短的代码完成网页的标签过滤功能。

python爬虫的构架组成如下图:

1、URL 管理器:管理待爬取的 url 集合和已爬取的 url 集合,传送待爬取的 url 给网页下载器;

2、网页下载器:爬取url对应的网页,存储成字符串,传送给网页解析器;

3、网页解析器:解析出有价值的数据,存储下来,同时补充 url 到 URL 管理器。

而 python 的工作流程则如下图:

(Python 爬虫通过 URL 管理器,判断是否有待爬 URL,如果有待爬 URL,通过调度器进行传递给下载器,下载 URL 内容,并通过调度器传送给解析器,解析URL内容,并将价值数据和新 URL 列表通过调度器传递给应用程序,并输出价值信息的过程。)

Python 是一门非常适合开发网络爬虫的编程语言,提供了如 urllib、re、json、pyquery 等模块,同时又有很多成型框架,如 Scrapy 框架、PySpider 爬虫系统等,本身又是十分的简洁方便所以是网络爬虫首选编程语言!

推荐好课:Python3入门Python3进阶