美文网首页程序员
浅谈简单爬虫架构

浅谈简单爬虫架构

作者: 河里的肥鱼 | 来源:发表于2018-01-25 13:13 被阅读0次

前言

这个假期我开始系统地学习python,列一下我所知的python学习网站:

  1. 廖雪峰的官方网站
  2. 菜鸟教程
  3. 慕课网
    还有一些欢迎补充。其中菜鸟教程的和廖雪峰的内容差不多,不过廖雪峰的内容更全面一些,由浅入深,是我学习python基础知识的主要渠道,在此非常感谢廖老师!慕课网的内容则是以视频的为主,适合不喜欢看文字或者看文字看不懂的同学。

简单爬虫架构

具体实现:简单爬虫架构的实现
上个假期我用python写了个简单的爬虫Python爬虫实战:登录教务系统查成绩
而在前两天我又在慕课网看了一个介绍简单爬虫架构的视频,相比我原来写的简单爬虫,这个显然更易于维护,而且更接近真实项目,很好地运用了面向对象的编程思维。
简单介绍一下爬虫架构

爬虫架构

简单爬虫架构

首先一个爬虫由一个爬虫调度端、一个URL管理器、一个网页下载器、一个网页解析器组成,并最终得到价值数据。

爬虫工作过程

爬虫从爬虫调度端开始
爬虫调度端负责协调URL管理器网页下载器网页解析器
首先它从URL管理器中询问是否有待爬URL,若有则将待爬URL传给网页下载器网页下载器将下载的html文件传给网页解析器网页解析器将按需求解析出价值数据以及网页中新的URL,输出价值数据并将新的URL传给URL管理器。这就是一个完整的爬虫过程。
URL管理器负责管理URL,将已爬的和未爬的URL分别储存起来,能够输出未爬的URL。
网页下载器负责下载URL对应的html页面。
网页解析器根据需求解析出想要的数据。(不同需求的爬虫需设计不同的解析器,而URL管理器和网页下载器则可以基本不用更改)

具体的实现在这:简单爬虫架构的实现

面向对象思维

写到这里,我就突然理解了我们学校让我们学习编译原理的目的了。此前我一直认为学校的目的只是让我们了解一下编译技术,毕竟每周一节课,总共也才2.5个学分,要想深入学习,能够写出编译器显然不现实。现在想想其实这门课更多的是在向我们展示一个成熟完善的大项目,让我们能够对大规模的工程有更好的认识,以及能够深入理解这种面向对象的编程方式,体会到面向对象带来的便利。

在我接触到这个简单的爬虫架构以后,我发现这其实和编译器的设计原理是一样的。
编译器其实是由词法分析器语法分析器代码生成器构成的,当然中间还经过了语义分析、中间代码生成等过程。其中每部分负责各自的工作,因此我们可以分开设计,将一个大项目分散成小项目,将复杂的任务简单化。而这样的思维,便是面向对象的编程思维了。

编译器分析层次

相关文章

  • 简单爬虫架构的实现

    在我的上一篇文章里简单介绍了一下最简单的爬虫架构:《浅谈简单爬虫架构》如下图所示简单爬虫架构 框架 mySpide...

  • 浅谈简单爬虫架构

    前言 这个假期我开始系统地学习python,列一下我所知的python学习网站: 廖雪峰的官方网站 菜鸟教程 慕课...

  • 爬虫简介

    爬虫:一段自动抓取互联网信息的程序 价值:互联网数据,为我所用! 简单爬虫架构 简单爬虫架构-运行流程 URL管理...

  • Python 爬虫学习笔记(一)

    视频教程: 慕课网 Python开发简单爬虫 1.简单爬虫架构 2.爬虫架构的运行流程 3.URL管理器 4.UR...

  • python-爬虫基础(慕课网)

    二.爬虫简介以及爬虫的技术价值 2-1:爬虫是什么? 2-2:爬虫技术的价值? 三.简单爬虫架构 3-1:简单爬虫...

  • 爬虫架构|如何设计一款类“即刻”信息订阅推送的爬虫架构(二)

    我之前在爬虫架构|如何设计一款类“即刻”信息订阅推送的爬虫架构(一)中简单描述了我要做这个爬虫架构的思路,今天我们...

  • python爬虫

    转载自:http://www.imooc.com/article/15028 爬虫基本架构 一个网络爬虫的简单架构...

  • Python爬虫入门(urllib+Beautifulsoup)

    Python爬虫入门(urllib+Beautifulsoup) 本文包括:1、爬虫简单介绍2、爬虫架构三大模块3...

  • 浅谈架构-----目录

    浅谈架构——引言 浅谈架构——面向对象 谈架构——文档下载的设计实现

  • 简单爬虫架构

    整理笔记,来自imooc课程 整体结构 爬虫调度端 URL管理器 网页下载器 网页解析器 URL管理器 管理待抓取...

网友评论

    本文标题:浅谈简单爬虫架构

    本文链接:https://www.haomeiwen.com/subject/pfcvaxtx.html