上次我们从对爬虫进行简单的介绍,今天我们引入一个简单爬虫的技术架构,解释爬虫技术架构中的几个模块,对爬虫先有一个整体的认知,方便对爬虫的理解和后面的编程。
简单的爬虫架构:URL管理、网页下载、网页解析、输出部分,如下图:
1、URL管理器:防止重复抓取、防止循环抓取;URL是爬虫爬取的入口和桥梁,除了入口URL外,剩下的URL我们需要在网页上获取并统一管理,防止重复抓取和防止循环抓取。
2、网页下载器:将互联网上URL对应的网页下载到本地的工具,这是一个爬虫的核心部分之一。
Python网页下载器的种类:urllib2(python 官方基础模块)、requests(第三方包更强大)
urllib2下载网页的方法
1).url ——> urllib2.urlopen(url)
2).url data header ——>urllib2.Request ——> urllib2.urlopen(request)
3).特殊情景处理
3、网页解析器:从网页中提取有价值的数据的工具,这是爬虫的另一个核心部分。
Html网页字符串——>网页解析器——>价值数据/新URL列表
Python解析器的种类:正则表达式、html.parser、Beautiful Soup、lxml(Xpath)
4、输出部分:把爬取的内容输出到指定的文件或文件夹,如text文件、csv文件、mongodb中等等,方便后续数据处理。
好了,本篇主要是讲了一个简单的爬虫架构,让打家对Python爬虫有个大观的印象,后面我们继续探讨!