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

python网络爬虫的流程图_Python 网络爬虫程序架构及运行流程相关推荐

  1. python爬虫流程-Python爬虫程序架构和运行流程原理解析

    1 前言 Python开发网络爬虫获取网页数据的基本流程为: 发起请求 通过URL向服务器发起request请求,请求可以包含额外的header信息. 获取响应内容 服务器正常响应,将会收到一个res ...

  2. python总是提示缺少模块_python打包生成的exe文件运行时提示缺少模块的解决方法...

    事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyin ...

  3. python网络爬虫文献综述_python网络爬虫综述

    本文主要是个人python学习过程中的碎碎念想,希望对感兴趣的童鞋有所帮助. 百度百科上网络爬虫的定义是:"网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者 ...

  4. python网络爬虫资源库名_Python网络爬虫

    网友NO.524767 Python网络爬虫与信息提取(实例讲解) 课程体系结构: 1.Requests框架:自动爬取HTML页面与自动网络请求提交 2.robots.txt:网络爬虫排除标准 3.B ...

  5. python网络爬虫的特点_Python网络爬虫(一)- 入门基础

    目录: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程 ...

  6. python爬虫实践报告_Python网络爬虫从入门到实践

    本书讲解了如何使用Python编写网络爬虫,涵盖爬虫的概念.Web基础.Chrome.Charles和Packet Capture抓包.urllib.Requests请求库.lxml.Beautifu ...

  7. python网络编程web教程_python网络编程学习笔记(6):Web客户端访问

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 6.1 最简单的爬虫 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.pyt ...

  8. python套接字编程_Python网络编程 Python套接字编程

    Python 提供了两个级别访问的网络服务. 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络服 ...

  9. python网络套接字_Python网络编程 Python套接字编程

    Python 提供了两个级别访问的网络服务. 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络服 ...

  10. python网络编程基础知识_python网络编程基础

    一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...

最新文章

  1. windows server 2008 - 创建域和本机用户
  2. ORA-01810: 格式代码出现两次
  3. 【技术】Qt对话框讲解
  4. 现代php中文版,现代PHP
  5. 解决SVN提交和更新代码冲突?
  6. 惠普笔记本电脑好吗_十代酷睿释放强大性能,惠普战66三代助你无往不胜
  7. T-SQL 查询、修改数据表
  8. 现实世界的Windows Azure:采访Gizmox 研发中心的副总裁Itzik Spitzen先生
  9. yolov5标注格式归一化
  10. 最新最全git使用大全
  11. matlab/simulink通...,详解MATLAB/Simulink通信系统建模与仿真
  12. Activiti6自学之路(一)—— Activiti6介绍
  13. ajax中GET和POST区别
  14. 肇庆学院计算机论文选题,肇庆学院本科毕业论文(设计)写作与印制规范
  15. 定时监控Ubuntu系统HDMI热插拔进行锁屏操作
  16. maya linux 安装教程视频,在 Ubuntu 上安装 Maya 2020 - Flame.VIP
  17. Error 0x80240017: Failed to execute MSU package.
  18. 20145325张梓靖 《信息安全系统设计基础》第13周学习总结
  19. 解决方案:macOS Mojave下Pycharm运行pygame无法加载外星人游戏图片以及无法修改颜色
  20. 接口技术七段数码管c语言,031 实例7-七段数码管绘制

热门文章

  1. 饿了么神级UI组件库——Element-UI使用指南
  2. Python-读取本地视频转化为图片方法记录(一)
  3. Centos升级GLIBC
  4. Python使用Reportlab处理PDF数据 - 其他图形
  5. Ubuntu20.04 搜狗输入法安装
  6. Zemax操作23--衍射光栅仿真(上)
  7. 视频自动生成字幕(免费版)
  8. Structure from Motion Using OpenCV
  9. 基于R语言的方差分析
  10. 网络安全中常见攻击方式(SQL注入、XSS攻击、CSRF攻击、网页木马、文件包含漏洞攻击、目录遍历攻击、CC攻击、DOS攻击)