Python爬虫程序架构和运行流程原理解析

作者:躬耕南阳 时间:2023-10-04 16:04:24 

1 前言

Python开发网络爬虫获取网页数据的基本流程为:

发起请求

通过URL向服务器发起request请求,请求可以包含额外的header信息。

获取响应内容

服务器正常响应,将会收到一个response,即为所请求的网页内容,或许包含HTML,Json字符串或者二进制的数据(视频、图片)等。

解析内容

如果是HTML代码,则可以使用网页解析器进行解析,如果是Json数据,则可以转换成Json对象进行解析,如果是二进制的数据,则可以保存到文件做进一步处理。

保存数据

可以保存到本地文件,也可以保存到数据库(MySQL,Redis,MongoDB等)。

Python爬虫程序架构和运行流程原理解析

2 爬虫程序架构及运行流程

Python爬虫程序架构和运行流程原理解析

网络爬虫程序框架主要包括以下五大模块:

  • 爬虫调度器

  • URL管理器

  • HTML下载器

  • HTML解析器

  • 数据存储器

五大模块功能如下所示:

  • 爬虫调度器:主要负责统筹其它四个模块的协调工作。

  • URL管理器:负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。

  • HTML下载器:用于从URL管理器中获取未爬取的URL链接并下载HTML网页。

  • HTML解析器:用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新的URL链接交给URL管理器,解析出有效数据交给数据存储器。

  • 数据存储器:用于将HTML解析器解析出来的数据通过文件或者数据库的形式存储起来。

网络爬虫程序框架的动态运行流程如下所示:

Python爬虫程序架构和运行流程原理解析

3 小结

本文简要介绍了Python开发网络爬虫的程序框架,将网络爬虫运行流程按照具体功能划分为不同模块,以便各司其职、协同运作。搭建好网络爬虫框架后,能够有效地提高我们开发网络爬虫项目的效率,避免一些重复造车轮的工作。

来源:https://www.cnblogs.com/yangmi511/p/12448067.html

标签:Python,爬虫,架构,流程
0
投稿

猜你喜欢

  • python的多元数据类型(下)

    2023-06-17 02:45:11
  • Python正则表达式和元字符详解

    2021-02-26 02:54:19
  • ASP连接MSSQL2005 数据库

    2009-03-08 19:20:00
  • 原生JS实现非常好看的计数器

    2024-04-19 09:59:20
  • 使用CSS选择器创建个性化链接样式

    2009-06-02 13:07:00
  • python使用循环打印所有三位数水仙花数的实例

    2022-07-02 09:58:59
  • sql中exists的基本用法示例

    2024-01-25 08:24:55
  • python 性能提升的几种方法

    2022-05-21 06:38:18
  • 巧用XSL和ASP在线编辑XML文档

    2008-10-25 14:54:00
  • js查找/搜索页面中的字符源代码

    2008-02-17 17:13:00
  • python3 tkinter实现添加图片和文本

    2022-08-07 04:28:17
  • MySQL 实现lastInfdexOf的功能案例

    2024-01-20 15:16:51
  • 注册表单的规则——读《Patterns for Sign Up &Ramp Up》

    2008-07-17 12:51:00
  • Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))

    2021-05-13 07:42:11
  • 利用Python 实现图片转字符画

    2022-05-06 11:31:01
  • Kettle下载安装pdi-ce-7.1.0.0-12教程

    2023-11-27 05:38:36
  • 在centos7中分布式部署pyspider

    2022-10-28 15:53:00
  • c#判断数据库服务器是否已经启动的方法

    2024-01-25 06:23:05
  • 浅谈MySQL 亿级数据分页的优化

    2024-01-23 18:09:57
  • AJAX在GET中文的时候解决乱码的方法

    2007-11-04 13:04:00
  • asp之家 网络编程 m.aspxhome.com