心在腐烂 发表于 2019-8-29 13:19:59

python基础爬虫的框架以及详细的运行流程


网络爬虫是什么?
网络爬虫就是:请求网站并提取数据的自动化程序

网络爬虫能做什么?
网络爬虫被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。

网络爬虫还被用于爬取各个网站的数据,进行分析、预测
近几年来,大量的企业和个人开始使用网络爬虫采集互联网的公开数据,进行数据分析,进一步达到商业目的。

利用网络爬虫能从网上爬取什么数据?
可以好不吹嘘的说,平时从浏览器浏览的所有数据都能被爬取下来。

网络爬虫是否合法?
上面说到了爬虫可以爬取任何数据,那么,爬取数据这种行为是否合法?
目前关于爬取数据的法律还在建立和完善中,如果爬取的数据属于个人使用或者科研范畴,基本不存在什么问题;一旦要用于商业用途就得注意了,有可能会违法。互联网界对于网络爬虫也建立了一定的道德规范(Robots协议)来约束。
这里具体看下Robots协议
Robots协议规定各个搜索引擎哪些页面可以抓取,哪些页面不能抓取,Robots协议虽然没有被写入法律,但是每一个爬虫都应该遵守这项协议。
下面是淘宝网的robots协议:

从图中我们就可以发现淘宝网对百度的爬虫引擎做出了规定,然而百度也会遵守这些规定,不信你可以试试从百度是找不到淘宝里的商品信息的。

python爬虫的基本流程
Python爬虫的基本流程非常简单,主要可以分为三部分:(1)获取网页;(2)解析网页(提取数据);(3)存储数据。


简单的介绍下这三部分:
获取网页就是给一个网址发送请求,该网址会返回整个网页的数据。类似于在浏览器中输入网址并按回车键,然后可以看到网站的整个页面。
解析网页就是从整个网页的数据中提取想要的数据。
存储数据顾名思义就是把数据存储下来,我们可以存储在文本中,也可以存储到数据库中。

基础爬虫的框架以及详细的运行流程
基础爬虫框架主要包括五大模块,分别是爬虫调度器、URL管理器、HTML下载器、HTML解析器、数据存储器。这五大模块之间的关系如下图所示:


下来我们来分析这五大模块之间的功能:
爬虫调度器主要负责统筹其他四个模块的协调工作。
URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合, 提供获取新URL链接的接口。
HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页。
HTML解析器用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新 的URL链接交给URL管理器,解析出有效数据交给数据存储器。
数据存储器用于将HTML解析器解析出来的数据通过文件或者数据库的形式存储起来。

详细的运行流程如下图所示:

ximenyan 发表于 2020-1-2 20:34:41

谢谢!:loveliness:

ximenyan 发表于 2020-1-2 20:35:07

有心人,赞一个!
页: [1]
查看完整版本: python基础爬虫的框架以及详细的运行流程