从零开始教你学爬虫!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解析器解析出来的数据通过文件或者数据库的形式存储起来。

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

点赞的会变好看也会世界和平,关注的会大富大贵!!!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190122B15X7Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券