资讯专栏INFORMATION COLUMN

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

Scliang / 1235人阅读

摘要:互联网界对于网络爬虫也建立了一定的道德规范协议来约束。基础爬虫的框架以及详细的运行流程基础爬虫框架主要包括五大模块,分别是爬虫调度器管理器下载器解析器数据存储器。

网络爬虫是什么?

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

网络爬虫能做什么?

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

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

利用网络爬虫能从网上爬取什么数据?

可以好不吹嘘的说,平时从浏览器浏览的所有数据都能被爬取下来。

网络爬虫是否合法?

上面说到了爬虫可以爬取任何数据,那么,爬取数据这种行为是否合法?
目前关于爬取数据的法律还在建立和完善中,如果爬取的数据属于个人使用或者科研范畴,基本不存在什么问题;一旦要用于商业用途就得注意了,有可能会违法。互联网界对于网络爬虫也建立了一定的道德规范(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://www.ucloud.cn/yun/43034.html

相关文章

  • 如何实现一个Python爬虫框架

    摘要:这篇文章的题目有点大,但这并不是说我自觉对爬虫这块有多大见解,我只不过是想将自己的一些经验付诸于笔,对于如何写一个爬虫框架,我想一步一步地结合具体代码来讲述如何从零开始编写一个自己的爬虫框架年到如今,我花精力比较多的一个开源项目算是了,这是 showImg(https://segmentfault.com/img/remote/1460000018513379); 这篇文章的题目有点大...

    feng409 评论0 收藏0
  • 史上最详细Python学习路线-从入门到精通,只需90天

    摘要:针对的初学者,从无到有的语言如何入门,主要包括了的简介,如何下载,如何安装,如何使用终端,等各种开发环境进行开发,中的语法和基本知识概念和逻辑,以及继续深入学习的方法。 ...

    gghyoo 评论0 收藏0
  • MongoDB 4.0 Python3.7 稳定高效评分制IP代理池APIserver

    摘要:项目的主要运行部分,采集器验证器打分检测等功能实现的模块。在中可以配置异步的并发量等来控制验证器。调用有了稳定的高分代理数据,那么就可以挂起一个为我们的爬虫保驾护航,这一部分可以单独拿出来编写,使用其他框架之类的都是不错的选择。 FooProxy 稳健高效的评分制 IP代理池 + API服务提供,可以自己插入采集器进行代理IP的爬取,支持 MongoDB 4.0 使用 Python3....

    wangjuntytl 评论0 收藏0
  • MongoDB 4.0 Python3.7 稳定高效评分制IP代理池APIserver

    摘要:项目的主要运行部分,采集器验证器打分检测等功能实现的模块。在中可以配置异步的并发量等来控制验证器。调用有了稳定的高分代理数据,那么就可以挂起一个为我们的爬虫保驾护航,这一部分可以单独拿出来编写,使用其他框架之类的都是不错的选择。 FooProxy 稳健高效的评分制 IP代理池 + API服务提供,可以自己插入采集器进行代理IP的爬取,支持 MongoDB 4.0 使用 Python3....

    AndroidTraveler 评论0 收藏0

发表评论

0条评论

Scliang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<