抓取网易新闻网友评论遇到的Bug

网页抓取工具包MetaSeeker允许用户在同一个主题名下定义多个信息结构,这样做带来一个好处:如果目标网页结构有些变动,那么可以用同主题名下的不同信息结构来抓取和存储目标网页上的信息。MetaSeeker工具包中的网络爬虫DataScraper能够自动找到符合目标网页结构的信息结构及其网页抓取规则。

但是,MetaSeeker客户反馈回来的信息显示,以前版本存在一个Bug:如果同主题名下的信息结构有较大不同,DataScraper无法正确运行。例如,抓取网易163新闻的网友评论时,有些新闻是热点新闻,有很多用户发帖评论,而有些新闻没有任何评论。则分别定义两个信息结构,一个用于翻页抓取所有网友评论,另一个用于识别没有网友评论的网页情况。怎样抓取网友评论可以参看《MetaSeeker速成手册》,网易新闻评论都是AJAX异步加载,需要正确设置AJAX选项。在这个案例中,翻页抓取网友评论的信息结构用MetaStudio编辑时,需要在Clue Editor工作台上定义分页抓取线索,而另一个信息结构的Clue Editor工作台上不需要定义任何规则。从而,两个信息结构差别很大。在这个情况下,Bug凸现了,如果先创建第一个信息结构,则,抓取时无法正确翻页;如果先创建第二个信息结构,则抓取时DataScraper终止网页抓取工作流。

为了解决上述问题,DataScraper升级成V4.11.5版本,请下载升级

但是,这个版本并没有完全清除这个Bug,为了避免遇到这个Bug,用户创建信息结构时需要确保约定的顺序:如果多个同主题名的信息结构有很大差别,即在MetaStudio的Bucket Editor和Clue Editor工作台上,有些信息结构的这两个工作台之一为空,那么先创建这类信息结构,最后再创建工作台都不空的信息结构。这样就能避免这个Bug。完全解决这个Bug的计划是V4.12.1版本。