济南网站建设,网站运营维护,网站优化
网站运营您当前的位置:智达维网络科技 > 网站运营 >

电商网站蜘蛛爬虫抓取方式的适配

更新时间:2018-07-30 16:33:19 作者:千寻建站 访问量:37

电商网站蜘蛛爬虫抓取方式的适配
电商网站蜘蛛爬虫抓取方式的适配
    页面有静态和动态之分,这影响了爬虫系统的抓取行为:
    (1)大多数情况下,每个url对应的是静态页面,浏览器直接解析请求url后响应的html。
    (2)动态页面的情况是比较特殊的,网页的数据采用异步加载,即站点服务器初次响应的数据仅仅是页面结构框架和异步执行的代码,加载完毕后,再次请求服务器拿到数据,通过JavaScript操作Dom组合成完整页面。
    特别在近年来,前端应用引擎诸如React、AngularJS和国产的vue日益盛行,模板化和异步加载的方式更是应用广泛,导致上面所述第二种情况出现的几率不低。所幸爬虫领域也有足够多的方案去适配它,有人通过模拟它的JS行为获得数据,更通用的方法是应用各平台的前端渲染支持库(HtmlUtil、PhantomJS),它们带有JS引擎,就好像真正在浏览器加载页面等待渲染完毕一样,有人应用这些支持库实现了比较优秀的系统,甚至形成了称为AjaxCrawler的体系。
    电商网站也是一样,两种页面经常是共存的,为了提高普适度,本文对动态页面采取了应用前端渲染支持库的做法。那么如何标识出当前页面是属于哪一种类型呢?本文提出一种“预抓取-比较判断-标识”的方法,其页面类型判断流程如图所示。首先进行网页正文的抽取,过滤掉网页中的噪声(例如导航条、广告条、超链接和网站底部说明),利用网页正文生成树算法得到一棵结构树,然后用BloomFilter算法计算每一层次标签特征串的指纹,用页面所有元素的指纹值直接拼接进行网页相似度的判断。当相似度达到预定的阈值,就认为静态抓取和前端渲染得到的页面数据是等价的,此时可以断定该层级页面是静态的,否则认为是存在异步获取过程的动态页面。由于经历了正文抽取、噪声过滤和文本树生成,所有节点的指纹都是相对稳定的,这就意味着两个页面的指纹相似度应该稍高一些,本文测试环境使用的阈值为0.8。
    电商网站层级严谨,基于此相同层级的页面,自然采取了同样的页面类型,所以图最后一步中标记的是某一层级而不是某个URL,后面的抓取都沿用本层级已经确定下来的策略即可。

    文章说明:本站发布的所有文章,版权均属于智达维网络科技。如需转载、摘编或其它方式使用上述作品,请注明“转载自:智达维网络科技”,谢谢您的浏览!本站专注:网站运营网站建设
相关推荐

热线:0531-87583458 电话:0531-66812586 QQ:2676834962
Copyright 智达维网络科技 版权所有
ICP备案编号:鲁ICP备11034527号-1 鲁公网安备 37010402000703号

扫二维码加微信咨询

拨打客服热线

0531-87583458

在线客服