2、在爬虫技术原理和实现上分为两个层次:
扩展技术:多线程任务调度、动态页面获取、主题识别、局部控制、增量式扩展
内核技术:WEB服务器连接器向WEB服务器发起连接请求,在建立爬虫和web服务器之间的网络连接后,在该连接上向服务器发送URL页面请求命令,WEB服务器反馈页面内容,即HTML编码的文本信息,由页面解析器对页面进行分析,提取其中包含的URL,过滤URL,根据爬行策略,将URL放入爬行队列的适当位置。当某个URL对应的页面爬行完毕,连接器会从队列中获取下一个URL作为新的爬行起点。
页面解析器
1、工作过程:基于HTML编码的文本信息,在获取HTML的信息内容后,由页面解析器进行解析,提取其中包含的所有URL,作为后续爬行的新开始。(在爬虫的扩展部分,对URL进行域名检测,可以实现爬虫获取局部页面的目标)
2、所需要的包:Xpath、BeautifulSoup
爬虫陷入
无论是深度优先策略还是宽度优先策略,总会在页面内部形成某种环状。因此,在爬行过程中,对路径上的每个页面节点都要进行“是否爬行过的”检查。
爬行策略
深度优先、宽度优秀
PageRank—网页排名、*PR算法
1、概念:根据页面之间的超链接计算页面级别的方法。
2、基本思想:
数量假设:一个页面越被其他页面链接,说明越重要
质量假设:越被高质量的页面链接,说明越重要
爬虫协议
1、Robots协议:将文件中设立的不允许爬行的URL排除掉
2、Sitemaps协议:一种网站和搜索引擎之间的网站页面结构共享协议,提供了一种网站告知搜索引擎可供爬行的网址列表,方便搜索引擎快速了解网站的页面结构。
3、Robots协议的作用:保护浏览器数据和敏感信息,保护用户个人信息和隐私。
4、Sitmaps协议的作用:搜索引擎的爬虫系统不必对网站的页面逐一分析抓取,提高效率,降低了服务器资源的占有。
5、Sitemaps的工作过程:由网站向浏览器提交sitemap.xml文件,它是一个包含了网站所有页面的xml格式文件,搜索引擎过得文件后可以对文件中指定的每个URL进行分析,从而决定哪些应当被爬行。