频道直达
八强网 > 实务 > 互动社区 > 正文阅读
关键词

信息采集难点的算法分析

www.8tops.com 2007-5-28 8:50:44   发布:周凯
媒体:原创  作者:周凯

搜索引擎是由多个技术难点组合而成,其中网络蜘蛛是难点之一,网络蜘蛛
是针对全网搜索的一种叫法,也即不分类别、不作分析的抓取,而对于垂直
搜索,更好的叫法是信息抓取或信息采集。

我们经常看到有的网站费尽心机的希望进行SEO,也即搜索引擎优化,目的无非
是希望网络蜘蛛能更多的大驾光临,乃至一些网站愿意付大价钱让排名靠前,
但对于垂直搜索,则是另一番景象,一些网站为了保持核心信息不被转载,
反倒千方百计防止被信息抓取工具抓走,至于所用技术,可谓五花八门,这里
不谈太多商业上的谁对谁错,仅就技术层面来做讨论.

最容易采集的一类网站是即没有分页,也不用注册用户登陆的网站,抓取算法最
为简单,第一步,抓取给定入口的网页,第二步提取该网页所有链接,第三步,按
事先设定好的正则表达式做匹配,从所有链接中提取符合正则表达式的部分链接,
第四步,进入这些链接,提取出正文.

第二类网站是有分页的,但其中又分很多种情况,最常见也是最容易处理的是按
1,2,3...Next这种格式的分页,这类网站首先按上面叙述的四步算法采集入口
网页中子链接信息,接下来,用第二个正则表达式,提取符合分页特征的所有链接,
然后逐个进去,重复以上四个动作,这第二个正则表达式无外乎包含Page=d+的匹配
规则.

第三类网站是有分页而且还不是一般的分页,比如Page 0/20 这种,后面跟着一个下拉
框,这种网站的采集难度看似较上一种更大,但这依然难不倒我们天才的工程师们,网站
中公布的页码总数反倒给采集提供了很大便利,只需要从Page=0到总数逐步循环采集就
可以了.

还有的网站是需要注册用户才可以访问部分信息,这也没问题,事先记录好用户名和密码,
然后模拟提交cookie数据就可以了.

有的网站中的子链接是JavaScript跳转的模式,不能经过简单的拼接模式获得绝对路径,
但同样有技术手段能处理JavaScropt跳转. 这里不详述。至于加有识别码的网站,通过
技术手段绕过识别码是可以的,但不能保证百分百的成功识别.

最后还有一类网站,显然是在技术上做了可以防范的,网页中需要提交session的条件
才能获取查询结果,而且session中变量名还要经过伪装,甚至不断变换,对于这样的网站,
采集专家们只能感叹:既生瑜,何生亮,虽说如此,但我还是知道有的高手们仍然有
办法来对付.

八强网,更多精彩在首页,
八强网首页
网友评论

发表

我也评两句
 
发文时请务必注意:
一、遵守国家相关法律规定,如 《北京地区互联网站电子公告服务倡议书》《全国人大常委会关于维护互联网安全的决定》 及中华人民共和国其他各项有关法律法规。一旦违犯法律法规,您将承担一切因您的行为而直接或间接导致的民事或刑事法律责任,本站工作人员有义务配合相关部门,提供必要的技术资料(如IP地址等)。
二、自觉遵守爱国、守法、自律、真实、文明的原则,严禁发表有人身攻击倾向、有造谣生事嫌疑的言论,严禁发表虚假广告、色情、网络传销性质的内容,本站管理人员有权删除违反规定的内容或取消违规网友的发文权限甚至删除其ID。
互联网产业作家
网站提交】【八强自荐
将八强网设为首页 将八强网添加到收藏夹 将八强网推荐给朋友 网络实名、通用网址:八强网
关于我们 - 联系合作 - 广告服务 - 友情链接 - 支持单位 - 免责声明
基于E-file技术构建 版权所有Copyright©2006 京ICP备06061834号