网页抓取方法和网页抓取服务器技术

技术编号:2918178 阅读:336 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种网页抓取方法及网页抓取服务器,方法包括:包括:A.接收网页请求;B.判断所请求网页是否抓取过,如果是,则执行步骤C;否则,抓取该网页,结束本流程;C.判断所请求网页的抓取间隔是否大于预设的时间阈值,如果是,则执行步骤D;否则,不抓取该网页,结束本流程;D.查询所述网页是否有更新,如果有更新,则抓取该网页;否则,不抓取该网页。所述服务器包括:网页请求接收模块、判断模块、查询模块、抓取模块。本发明专利技术可以减轻网页抓取服务器的负担,减少对网络带宽资源的占用,提高网页抓取的效率。

【技术实现步骤摘要】

本专利技术涉及信息处理
,尤其涉及一种无线搜索网页转换系统中的网页抓取方法和网页抓取服务器
技术介绍
随着网络技术的发展,无线互联网技术也在迅速地发展,人们可以通过移动通信终端(例如移动电话、无线掌上电脑等)可以随时随地地与他人联系,同时随着通信资费的降低以及3G技术的推广,无线互联网将有极大的发展,并改变我们的生活方式。目前互联网上存在最多的资源是网页,但是这些网页是专为个人计算机(PC)设计的超文本标记语言(HTML,HyperText Markup Language)格式,由于移动通信终端屏幕大小、处理能力和网络带宽的限制,这些网页无法直接在移动通信终端上进行浏览,针对这种情况,目前设计了一种无线标记语言(WML,Wireless Markup Language)格式的标记语言,用于撰写在移动通信终端上能够显示的网页。无线互联网的用户也存在搜索信息的需求,因此,需要提供一个类似于PC上的搜索引擎来帮助用户搜索信息,由于目前HTML网页数量远远大于WML网页数量,用户搜索的结果大部分是存在于HTML网页中,因此目前出现了一种无线搜索网页转换系统,能够自动将HTML网页转换成WML网页,供无线互联网用户直接在移动通信终端上进行浏览。无线搜索网页转换系统包括网页抓取服务器、转换服务器、和存储服务器。其基本处理过程是网页抓取服务器先获取移动通信终端用户的请求,分离出原始的HTML网页地址,之后将自动抓取该HTML网页,交给转换-->服务器进行解析,转换成WML网页,并将所述WML网页存储到存储服务器中,供移动通信终端访问查找。对于网页抓取服务器如何抓取HTML网页,现有的技术方案如下:利用标准模板库(STL,Standard Template Library)中的Map数据结构作为缓存,该缓存用于存储URL对象,一个URL对象的关键字为网页URL的信息摘要算法(MD5,Messsage-Digest algorithm 5)值,取值为网页的抓取时间。同时,统一设定网页的抓取时间间隔的时间阈值,例如通常设置为10分钟。移动通信终端通过无线搜索引擎搜索到相应的网页,当用户点击搜索结果后,移动通信终端将对应的网页请求发送到无线搜索网页转换系统,无线搜索网页转换系统收到网页请求后,分离出所请求网页的URL地址,并计算出该URL地址的MD5值,以该MD5值为关键字,当前时间为值,在网页抓取服务器的缓存中进行查找,如果存在相同关键字的URL对象,则查询这个URL对象的抓取时间,并与当前时间进行比较,如果两者差大于或等于所述设定的时间阈值,则改写缓存中的这个URL对象,即将该URL对象的值更新为当前时间,并重新抓取该URL对象的网页,并由转换服务器转换成WML网页存入存储服务器;如果两者差小于所述设定的时间阈值,则表示无需重新抓取该网页,网页抓取服务器会直接丢弃所述网页请求,由所述存储服务器向发起请求的移动通信终端返回目前存储的该URL对象对应的WML网页。上述现有技术存在以下的缺点:现有技术对所有类型的网页只设定一个网页抓取间隔的时间阈值,不能灵活适应不同类型网页的更新情况,假设如果设置时间阈值为10分钟,那么对于某些更新频繁的网页,例如论坛、评论之类的网页,10分钟的抓取时间间隔过长;反之,对于那些更新频率非常低的网页类型,例如新闻网页,很可能发布之后就不会更新了,但是目前系统无法适应这种情况,还是要每隔10分钟去重新抓取一次网页。当网页的抓取间隔超过设定的时-->间阈值后,即该网页从缓存中过期后,并不能代表该网页内容已经做了更新,需要重新抓取,然而事实上,互联网上大部分网页的更新周期都比较长。因此,现有技术的无线搜索网页转换系统无法适应网页更新周期长的这种情况,造成重复抓取了很多并没有进行内容更新的网页,加重了网页抓取服务器的负担,占用了过多的网络带宽资源,并且抓取网页的效率较低。
技术实现思路
有鉴于此,本专利技术所要解决的技术问题在于提供一种网页抓取方法,以减轻网页抓取服务器的负担,减少对网络带宽资源的占用,提高网页抓取的效率。本专利技术所要解决的另一技术问题在于提供一种网页抓取服务器,以减轻自身系统的负担,减少对网络带宽资源的占用,提高网页抓取的效率。为了实现上述专利技术目的,本专利技术的主要技术方案为:一种网页抓取方法,包括:A、接收网页请求;B、判断所请求网页是否抓取过,如果是,则执行步骤C;否则,抓取该网页,结束本流程;C、判断所请求网页的抓取间隔是否大于预设的时间阈值,如果是,则执行步骤D;否则,不抓取该网页,结束本流程;D、查询所述网页是否有更新,如果有更新,则抓取该网页;否则,不抓取该网页。优选的,该方法预先设置缓存区和该缓存区对应的时间阈值;并且,在第一次抓取网页时,针对该网页创建一个对象存入缓存区,该对象包括该网页的标识和请求时间,并在后续步骤D中进一步以当前时间更新原有的时间;在步骤B中,根据所请求的网页标识是否在缓存中存在来判断该网页是-->否抓取过;步骤C中,所述的抓取间隔为当前时间与缓存区中所述网页对象所包括时间的差值,所述时间阈值为该缓存区对应的时间阈值。优选的,按照网页抓取频率的差异设置不同级别的缓存区,其中不同级缓存区对应不同的抓取间隔的时间阈值;并根据网页的抓取频率将网页的对象在不同级的缓存区中迁移。优选的,所述每一级的缓存区对应设置一个抓取频率等级值,在所述每个网页的对象中进一步设置抓取次数,该抓取次数的初始值为0;在步骤D中,进一步包括:如果网页有更新,则将该网页对象中的抓取次数加1,如果网页没有更新,则该网页对象中的抓取次数减1;并比较该网页对象的抓取次数和该网页对象所属缓存区的抓取频率等级值,如果抓取次数大于所述抓取频率等级值,则将该网页对象移动到时间阈值更短的上一级缓存区,如果抓取次数小于所述抓取频率等级值,则将该网页对象移动到时间阈值更长的下一级缓存区。优选的,步骤D所述查询所述网页是否有更新具体为:根据超文本传输协议的返回码查询判断所述网页是否有更新。优选的,所述网页为超文本标记语言网页。一种网页抓取服务器,包括:网页请求接收模块,用于接收网页请求;判断模块,用于判断所请求网页是否抓取过和抓取间隔,在未抓取过时,触发抓取模块,在抓取间隔大于预设的时间间隔时触发查询模块;查询模块,用于查询所述网页是否有更新,在有更新时触发抓取模块;抓取模块,用于抓取网页。优选的,进一步包括缓存区,用于存储抓取网页的对象,且该缓存区具有对应的时间阈值;所述判断模块根据所述缓存区中的网页对象判断网页是否抓取过以及抓取间隔,且所述用于比较的时间阈值为该缓存区对应的时间阈值。优选的,所述缓存区有至少两级,每级缓存区对应不同的网页抓取频率-->和抓取间隔的时间阈值;且所述网页抓取服务器进一步包括对象迁移模块,用于根据网页的抓取频率将网页的对象在不同级的缓存区中迁移。优选的,所述网页为超文本标记语言网页。由于本专利技术使得网页抓取服务器在一定时间阈值内不需要重新抓取用户的请求网页,而是直接返回存储服务器的存储结果,并且在网页的抓取间隔大于预设的时间阈值后,进一步判断网页是否有更新,如果有更新则抓取网页,否则不抓取网页。因此可以避免重复抓取很多并没有进行内容更新的网页,减轻网页抓取服务器的负担,本文档来自技高网
...

【技术保护点】
一种网页抓取方法,其特征在于,包括:A、接收网页请求;B、判断所请求网页是否抓取过,如果是,则执行步骤C;否则,抓取该网页,结束本流程;C、判断所请求网页的抓取间隔是否大于预设的时间阈值,如果是,则执行步骤D;否则, 不抓取该网页,结束本流程;D、查询所述网页是否有更新,如果有更新,则抓取该网页;否则,不抓取该网页。

【技术特征摘要】
1.一种网页抓取方法,其特征在于,包括:A、接收网页请求;B、判断所请求网页是否抓取过,如果是,则执行步骤C;否则,抓取该网页,结束本流程;C、判断所请求网页的抓取间隔是否大于预设的时间阈值,如果是,则执行步骤D;否则,不抓取该网页,结束本流程;D、查询所述网页是否有更新,如果有更新,则抓取该网页;否则,不抓取该网页。2.根据权利要求1所述的网页抓取方法,其特征在于,该方法预先设置缓存区和该缓存区对应的时间阈值;并且,在第一次抓取网页时,针对该网页创建一个对象存入缓存区,该对象包括该网页的标识和请求时间,并在后续步骤D中进一步以当前时间更新原有的时间;在步骤B中,根据所请求的网页标识是否在缓存中存在来判断该网页是否抓取过;步骤C中,所述的抓取间隔为当前时间与缓存区中所述网页对象所包括时间的差值,所述时间阈值为该缓存区对应的时间阈值。3.根据权利要求2所述的网页抓取方法,其特征在于,按照网页抓取频率的差异设置不同级别的缓存区,其中不同级缓存区对应不同的抓取间隔的时间阈值;并根据网页的抓取频率将网页的对象在不同级的缓存区中迁移。4.根据权利要求3所述的网页抓取方法,其特征在于,所述每一级的缓存区对应设置一个抓取频率等级值,在所述每个网页的对象中进一步设置抓取次数,该抓取次数的初始值为0;在步骤D中,进一步包括:如果网页有更新,则将该网页对象中的抓取次数加1,如果网页没有更新,则该网页对象中的抓取次数减1;并比较该网页对象的抓取次数和该网页对象所属缓存区的...

【专利技术属性】
技术研发人员:王为纪宇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1