怎样抓取跳转后的Web页面信息

网页跳转基本上可以分成两种情形

  • 利用HTTP消息的返回码和新网页地址进行跳转
  • 在目标网页HTML中实现跳转。

Web页面信息抓取软件工具包MetaSeeker并不关心哪种跳转方式,都能进行信息抓取。但是,跳转后网页URL实际上已经改变了,在操作MetaStudio时需要注意几点。



网页URL改变对工作台的影响

Web页面抓取规则在MetaStudio工作台上定义,就像用Word软件编辑文档一样,在工作台上做任何操作,MetaStudio都进行记录,以便判断是否修改,从而可以提示用户存盘。如果在工作台上已经做了一些操作,再改变网页URL,例如,在工具条的URL输入框中输入另外的URL并加载此页面,就会在工具条上显示红色的横杠,表示以前定义的抓取规则不是对当前页面的。

假设工作台不空,又发生了页面跳转,那么,红色横杠状态将显示出来,无法继续定义页面抓取规则了。这一般发生在如下情形:在MetaStudio的Theme List工作台上点击“识别”菜单,为深层主题定义信息结构。例如,主题A抓取论坛列表,同时抓取每个帖子的网页地址;主题B抓取论坛帖子。那么主题B就是深层主题。

在这种情形下,就不要使用“识别”功能,而是选择主题B下的某个网页作为样本页面,在新打开的MetaStudio上加载该页面,等所有跳转都完成了,再开始信息结构的定义。



网页跳转对DataScraper的影响

如果将跳转网页视做普通网页定义页面信息抓取规则,DataScraper抓取时可能会遇到如下出错提示:

   Suitable data schema cannot be found for clueid nnnn in xxst inthread cycle

那是因为DataScraper试图在跳转前的网页上抓取内容。但是该出错不一定总发生,如果跳转很快,DataScraper的抓取是有一定延迟的,跳转发生在DataScraper开始抓取之前,那么该错误不会遇到。但是,如果跳转用一个定时器控制,例如,500ms后发生,上述错误一般会发生。

为了解决这个问题,MetaStudio定义好信息结构后,应该在菜单“配置”下选择“延长模式”,这样可以告诉DataScraper不要急着报错,适当进行等待。

Comments

为什么任何没有抓取到?

服务器上:redplus_test和redplus_test_info,前者是深度抓取URL,后者是内容页的信息规则,不知道哪个地方出错了,DataScraper抓到的内容为空。。。。。。。。。。(除了些自带的配置信息,没有我要的规则信息)

谢谢,请帮我看看。。。。。。。。。。。

要设置key特性

redplus_test_info的Bucket Editor工作台上,要为至少一个信息属性指定key特性。key的意思就是这个信息一定要存在,否则一直等待。使用延长模式时,一定要设置key特性。

非常感谢

已测试通过,fuller很耐心,非常感谢