Python 爬虫架构首要由五个局部组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。
调度器:相当于一台电脑的CPU,首要担任调度URL管理器、下载器、解析器之间的调和作业。
URL管理器:包含待爬取的URL地址和已爬取的URL地址,避免反复抓取URL和循环抓取URL,终了URL管理器首要用三种方法,经过内存、数据库、缓存数据库来终了。
网页下载器:经过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方根底模块)包含需求登录、署理、和cookie,requests(第三方包)
网页解析器:将一个网页字符串停止解析,可以按照我们的请求来提取出我们有用的信息,也可以依据DOM树的解析方法来解析。网页解析器有正则表达式(直观,将网页转成字符串经过模糊匹配的方法来提取有价值的信息,当文档比拟复杂的时分,该方法提取数据的时分就会十分的艰难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以运用Python自带的html.parser停止解析,也可以运用lxml停止解析,相关于其他几种来说要强大一些)、lxml(第三方插件,可以解析
xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方法停止解析的。