Python 爬虫架构
爬虫架构
URL管理器
URL管理器:管理待抓取URL集合和已抓取URL集合- 防止重复抓取,防止循环抓取
URL管理器存储实现方式
1、Python自带 set 集合
2、Mysql关系型数据库
3、Redis缓存数据库
逻辑流程判断
1、添加新URL到待爬取集合中
2、判断待添加URL是否在容器中
3、判断是否还有待爬取的URL
4、获取待爬取URL
5、将URL从待爬取移动到已爬取
网页下载器
1、Python自带 urllib
2、第三方库 requests
网页解析器
1、正则表达式
2、BeautifulSoup
逻辑流程
1、接收HTML网页字符串
2、使用解析器解析
3、提取价值数据
4、提取URL列表