Python 网络爬虫程序架构及运行流程
程序员文章站
2022-03-10 11:51:25
1 前言 Python开发网络爬虫获取网页数据的基本流程为: 发起请求 通过URL向服务器发起request请求,请求可以包含额外的header信息。 获取响应内容 服务器正常响应,将会收到一个response,即为所请求的网页内容,或许包含HTML,Json字符串或者二进制的数据(视频、图片)等。 ......
1 前言
python开发网络爬虫获取网页数据的基本流程为:
发起请求
通过url向服务器发起request请求,请求可以包含额外的header信息。
获取响应内容
服务器正常响应,将会收到一个response,即为所请求的网页内容,或许包含html,json字符串或者二进制的数据(视频、图片)等。
解析内容
如果是html代码,则可以使用网页解析器进行解析,如果是json数据,则可以转换成json对象进行解析,如果是二进制的数据,则可以保存到文件做进一步处理。
保存数据
可以保存到本地文件,也可以保存到数据库(mysql,redis,mongodb等)。
2 爬虫程序架构及运行流程
网络爬虫程序框架主要包括以下五大模块:
- 爬虫调度器
- url管理器
- html下载器
- html解析器
- 数据存储器
五大模块功能如下所示:
- 爬虫调度器:主要负责统筹其它四个模块的协调工作。
- url管理器:负责管理url链接,维护已经爬取的url集合和未爬取的url集合,提供获取新url链接的接口。
- html下载器:用于从url管理器中获取未爬取的url链接并下载html网页。
- html解析器:用于从html下载器中获取已经下载的html网页,并从中解析出新的url链接交给url管理器,解析出有效数据交给数据存储器。
- 数据存储器:用于将html解析器解析出来的数据通过文件或者数据库的形式存储起来。
网络爬虫程序框架的动态运行流程如下所示:
3 小结
本文简要介绍了python开发网络爬虫的程序框架,将网络爬虫运行流程按照具体功能划分为不同模块,以便各司其职、协同运作。搭建好网络爬虫框架后,能够有效地提高我们开发网络爬虫项目的效率,避免一些重复造车轮的工作。