网页抓取优先策略

网页抓取优先策略
网页抓取优先策略也称为“页面选择问题”(page Selection),通常是尽可能地首先抓取重要性的网页,这样保证在有限的资源内尽可能地照顾到那些重要性高的网页。那么哪些网页才是重要性高的呢?如何量化重要性呢?
重要性度量由链接欢迎度、链接重要度和平均链接深度这个方面决定。
定义链接欢迎度为IB(P),它主要由反向链接(Backinks)的数目和质量决定。首先考察数目,直观地讲,一个网页有越多的链接指向它(反向链接数多),那么表示其他网页对其的认可。同时这个网页被网民访问的机会就大,推测出其重要性也就越高;其次考察质量,如果被越多的重要性高的网指向,那么其重要性也就越高。如果不考虑质量,就会出现局部最优,而不是全局最优的问题。最典型的就是作弊网页,人为地在一些网页中设置了大量反策链接指向其自身的网页,以提高该网页的重要性。如果不考虑链接质量,就会被这些作弊者所利用。
定义链接重要度为IL(P),它是一个关于URL字符串的函数,仅仅考察字符串本身。链接重要度主要通过一些模式,比如认为包含“.COM”或者“HOME”的URL重要度高,以及具有较少斜杠(Slash)的URL重要度高等。
定义平均链接深度为ID(P),此为笔者所创。ID(P)表示在一个种子站点集合中,每个种子站点如果存在一条链路(宽度优先遍历规则)到达该网页,那么平均链接深度就是这个网页的又一个重要性指标。因为距离种子站点越近,说明被访问的机会越多,离种子站点越远,重要性越低。事实上,按照宽度优先的遍历规则即可满足这种重要性高的网页被优先抓取的需要。
最后,定义网页重要性的度量为I(P),它由以上两个量化值线性决定,即:
I(P)=a*IB(P)+β*IL(P)
平均链接深度同宽度优先的遍历规则保证,因此不作为重要性评价的指标。在抓取能力有限的情况下,如果能够把重要性高的网页尽可能地抓完,是合理科学的,最终被用户查询到的网页也往往是那些重要性高的网页。
尽管这样看来已经足够完美,事实上,还是忽视了一个重要的要素--时间。时间导致万维网动态变化的一面。如何抓取那些新增的网页呢?如何重访那些被修改了的网页呢?如何发现那些被删除了的网页呢?为了保持和万维网网页的同步变化,就必须有网页重访策略。通过该策略可以识别增加、修改及删除网页这3种网页变化的情况。

 

时间: 2024-08-01 23:48:40

网页抓取优先策略的相关文章

用TinySpider进行网页抓取实例

本例中用到的maven坐标变化如下: ? 1 2 3 4 5 <dependency> <groupId>org.tinygroup</groupId> <artifactId>org.tinygroup.spider</artifactId> <version>0.1.0-SNAPSHOT</version> </dependency> 在百度中搜索笑话,看到这么一个网站:http://www.jokeji.

c#-C# 网页抓取保存为图片

问题描述 C# 网页抓取保存为图片 给个网址,然后把整个网页以图片的形式保存到本地要求 :1. 要保存的是整个网页,从头到尾2.如果网页超出屏幕,请模拟下拉滚动条至网页底部,待网页所有元素加载完毕后,再保存 解决方案 这个需求对于那些所谓"瀑布流"方式加载的网页,典型的,新浪微博和google图片搜索结果,它下拉下来是无限长的,而你的内存不是无限大的,一下子就把你的程序搞死了. 解决方案二: c#获取整个网页截图 解决方案三: 现在的问题是如何判断一个网站完全打开,包括所有的图片已经打

httpwebrequest网页抓取数据乱码

问题描述 httpwebrequest网页抓取数据乱码 protected void Page_Load(object sender, EventArgs e) { string url = "http://www.veryzhun.com/planenumber.html"; string strall = HttpGet(url); //string srr1 = GetHtmlFromGet(url,Encoding.GetEncoding("gb2312")

html-怎么用Jquery实现从一个网页抓取指定内容

问题描述 怎么用Jquery实现从一个网页抓取指定内容 已知一个网页的网址,现在抓取该网页的指定内容,比如说标题,发布时间,浏览次数等.怎么做????? 解决方案 http://www.gbtags.com/technology/javautilities/20120720jsoupjquerysnatchpage/ 解决方案二: 看看jquery 里面的load 方法. 其实做好还是用服务端语言做. 解决方案三: 客户端搞不了,有跨域问题,这种一般用采集软件来做,如火车头 解决方案四: 用Ht

网页抓取工具之数据预处理

提取的数据还不能直接拿来用?文件还没有被下载?格式等都还不符合要求?别着急,网页抓取工具火车采集器自有应对方案--数据处理. 图片1.png 网页抓取工具的数据处理功能包括三个部分,分别是内容处理.文件下载.内容过滤.下面依次给大家介绍: 1.内容处理:对从内容页面提取的数据进行替换.标签过滤.分词等进一步处理,我们可以同时添加多个操作,但这里需要注意的是,有多个操作时是按照从上到下的顺序来执行,也就是说,上个步骤的结果会作为下个步骤的参数. 下面来逐个介绍一下: ①提取内容为空:如果通过前面的

善用网页抓取工具,数据轻松收入囊中

数据已走进各行各业并得到了广泛应用,伴随着应用而来的则是对数据的获取和准确挖掘.我们可应用的数据多来自内部资源库以及外部载体,内部数据整合即用,而外部数据却需要先行获取.外部数据的最大载体就是互联网,网页中每天难以数计的增量数据里,就包含着许多对我们有利用价值的信息. 如何最高效地从海量信息里获取数据呢?网页抓取工具火车采集器有高招,以自动化的智能工具代替人工的数据收集,当然更高效也更准确. 一.数据抓取的通用性 作为通用的网页抓取工具,火车采集器基于源代码的操作原理让可抓取的网页类型达到99%

初学指南| 用Python进行网页抓取

引言 从网页中提取信息的需求日益剧增,其重要性也越来越明显.每隔几周,我自己就想要到网页上提取一些信息.比如上周我们考虑建立一个有关各种数据科学在线课程的欢迎程度和意见的索引.我们不仅需要找出新的课程,还要抓取对课程的评论,对它们进行总结后建立一些衡量指标.这是一个问题或产品,其功效更多地取决于网页抓取和信息提取(数据集)的技术,而非以往我们使用的数据汇总技术. 网页信息提取的方式 从网页中提取信息有一些方法.使用API可能被认为是从网站提取信息的最佳方法.几乎所有的大型网站,像Twitter.

网页抓取-ASP.NET网页动态抓取问题

问题描述 ASP.NET网页动态抓取问题 本人在做网页抓取程序,由于抓取的内容,源代码里是看不到的, 用WINFORM是可以用WebBrowser这样实现的..我想知道用ASP.NET的话,有没有能达到这个效果的方法, 我试了 HttpWebRequest,, 但是没找到操作DOM元素的方法. 解决方案 获取出来的是html文本,你可以用正则表达式过去想要的内容! 解决方案二: 如果你需要用DOM,可以用HtmlAgilityPackhttp://htmlagilitypack.codeplex

《用Python写网络爬虫》——2.2 三种网页抓取方法

2.2 三种网页抓取方法 现在我们已经了解了该网页的结构,下面将要介绍三种抓取其中数据的方法.首先是正则表达式,然后是流行的BeautifulSoup模块,最后是强大的lxml模块. 2.2.1 正则表达式 如果你对正则表达式还不熟悉,或是需要一些提示时,可以查阅https://docs.python.org/2/howto/regex.html 获得完整介绍. 当我们使用正则表达式抓取面积数据时,首先需要尝试匹配 元素中的内容,如下所示. >>> import re >>&