《精通Python网络爬虫》理论基础篇1-2
第1章什么是网络爬虫
1.1为何学习网络爬虫
(1)定制一个个性化的搜索引擎
搜索引擎离不开爬虫,例:百度(百度蜘蛛BaiduSpider)360(360Spider) 搜狗(SougouSpider)必应(BingBot)
(2)数据分析
(3)优化搜索引擎
(4)工作生计
(5)兴趣爱好
1.2网络爬虫的组成
网络爬虫由控制节点,爬虫节点,资源库构成。
控制节点:爬虫的中央控制器,根据URL地址分配线程,调用爬虫节点具体爬行。
爬虫节点:应用相关算法,对网页进行具体爬行。
资源库:将爬虫节点爬行结果存储到对应的资源库中。
1.3网络爬虫类型
爬虫类型 | 具体说明 |
---|---|
通用网络爬虫 | 爬行目标数据巨大,范围广 |
聚集网络爬虫 | 目标网页是定位与主题相关网页 |
增量式网络爬虫 | 只爬取内容发生变化的网页 |
深层网络爬虫 | 爬取深层页面 |
注明:在互联网中,网页按存在方式分类,分为表层页面和深层页面。
(1)表层页面,不需要提交表单,使用静态链接到达的静态页面。
(2)深层页面,需提交表单,才能获取的页面。
(3)深层网络爬虫最重要的部分是填写表单,以爬取深层页面。
1.4聚焦爬虫
- 聚焦爬虫的具体工作流程(爬取与主题相关的网页)
(1)控制中心,负责对整个爬虫系统进行管理和监控。
(2)首先初始的URL集合传递给URL队列。
(3)页面爬行模块会根据URL地址进行页面爬取,将爬取相应内容传到页面数据库中存储。
(4)在爬行过程中会产生新的URL。
(5)此时链接过滤模块过滤无关链接。
(6)剩下的URL根据主题使用链接评价模块或内容评价模块进行优先级排序,再次传送URL队列。
(7)另一方面,将页面数据库中的爬取到的页面进行分析处理,放入索引库中。
(8)用户检索对应信息,可得对应结果。
第2章网络爬虫技能总览
2.1网络爬虫技能纵览图
2.2搜索引擎核心
爬虫与搜索引擎密不可分。
下图所示搜索引擎的核心工作流程。
(1)搜索引擎利用爬虫模块(控制器,爬行器)从互联网爬取相应网页存储至原始数据库中。
(2)对原始数据库中数据进行索引(相当于索引器给数据起名字),并存储到索引数据库中。
(3)用户交互检索信息,检索器会从索引数据库中获取数据进行相应的检索处理。
(4)同时,用户输入信息会被存储到用户日志数据库中。
(5)用户日志数据库中的数据会交给日志分析器进行处理。
(6)日志分析器会根据大量的用户数据去调用原始数据库和索引数据库,改变排名结果或进行其他操作。