网络爬虫如何采集页面?
德道网络 |
发表时间:2019-01-04 16:23:36
一、网络爬虫在网络信息采集中的任务
网络爬虫在网络信息采集的两个任务:
① 发现URL
网络爬虫的任务之一就是发现URL,通常会以一些种子网站作为起点。
② 下载页面
一般搜索引擎的网络爬虫在发现URL之后,判断这个链接是否已收录、是否与已收录链接相似度极高、是否为高质量内容、原创度有多少等等,再决定是否需要下载这个页面。
二、网络爬虫在信息采集中的策略
通常网络爬虫采用以下的方式进行信息采集:
① 从一个种子网站集合出发
网络爬虫会从预先选定的一批种子网站开始爬行和抓取工作,这批种子网站通常是权威性最高的网站。通常一旦对某个页面进行了下载,就会对这个页面进行解析,找到链接的标签,如果包含可爬行的URL链接,则可能继续顺着这个链接进行爬行。而这个锚文本链接则是这个页面对另外一个页面进行的描述,可纯文本链接却没有这种描述,所以效果差一点也是情理之中的。
② 网络爬虫使用多线程
如果是单线程,效率会很低,因为大量的时间会耗在等待服务器相应上,故启用多线程来提高信息采集效率。
多线程可能会一次抓取好几百个页面,对搜索引擎而言是好事,但对别人的网站而言却不一定是好事了,比如可能导致对方服务器拥塞,让一些真实用户无法正常访问该网站。
③ 网络爬虫的抓取策略
网络爬虫不会在同一时间对一次性对同一网络服务器抓取多个页面,每次抓取都会有一定的间隔时间。当使用这种策略时,必须将请求队列特别大,这样才不会降低抓取效率。
比如,网络爬虫每秒可以抓取1000个页面,在同一网站的每次抓取间隔为10秒,那么队列应该为来自10000个不同服务器的URL。
通常,如果发现搜索引擎抓取频率过大可以在官方进行调整或反馈,如果不希望搜索引擎抓取某些页面或整个网站,则需要设置网站根目录下的robots.txt文件即可。