在建立newBckt前,刷新了DOM,并在配置中勾掉了“自动刷新DOM”,以及选上了“延长模式”。建立完毕提取规则后(单一页面,无翻页设置),无论选择“MAP”还是“Schema”都会弹框提示“Error: Cannot get theParent”,点击ok后再次弹框提示“Error: Fail to LocateToId”,之后火狐崩溃关闭。 之前采集非AJAX页面不会出现该问题,是否我忽略了什么设置?
新浪微博用Javascript自动刷新DOM很频繁,如果在定义抓取规则过程中DOM被刷新了,很多节点就变化了,用MetaStudio生成规则时会导致崩溃。但是用DataScraper进行抓取不会受影响。
为了能够为新浪微博定义抓取规则(一般只需为关键词搜索结果定义抓取规则需这么做,其它页面不用),可以有一种方法避开上述问题: 先将样本页面存为本地HTML,针对本地HTML做抓取规则。通常我都是这么做的。
在MetaStudio上加载上新浪微博的样本页面后,打开火狐的“工具”-〉“选项”菜单,“内容”那个页上,有“启用javascript”一样,不要选它,DOM就不会被javascript刷新了,等定义完信息结构并上载了抓取规则后,再打开这个选项,如果不打开,DataScraper就抓取不到动态内容了
1、浏览器上做了修改之后,只能抓取第一面,然后显示线索抓取完成,之后又抓了两页之后又不在继续,这是什么问题? 2、本地页面存取,虽然存的是页面全部刷新的页面,在meta中打开之后页面的再刷新,到不了下一页,做不了翻页 yangmi_weibo1113
更改浏览器设置的这个方法很奏效,谢谢! PS:上面提到将页面存为本地的方法,我在其他的回复中看到过,但是不知道如何加载到metastudio中,教程里也没找到~ 貌似是企业版的?
在浏览器中输入地址file:///c:/xxx,格式是这样的,具体地址是什么可以这样获得:在Windows文件夹中找到这个文件,点击鼠标右键,选择打开方式,选择 用Firefox打开,就能看到完整的地址了
新浪微博抓取
新浪微博用Javascript自动刷新DOM很频繁,如果在定义抓取规则过程中DOM被刷新了,很多节点就变化了,用MetaStudio生成规则时会导致崩溃。但是用DataScraper进行抓取不会受影响。
为了能够为新浪微博定义抓取规则(一般只需为关键词搜索结果定义抓取规则需这么做,其它页面不用),可以有一种方法避开上述问题:
先将样本页面存为本地HTML,针对本地HTML做抓取规则。通常我都是这么做的。
防止崩溃的另一个方法
在MetaStudio上加载上新浪微博的样本页面后,打开火狐的“工具”-〉“选项”菜单,“内容”那个页上,有“启用javascript”一样,不要选它,DOM就不会被javascript刷新了,等定义完信息结构并上载了抓取规则后,再打开这个选项,如果不打开,DataScraper就抓取不到动态内容了
还是存在问题
1、浏览器上做了修改之后,只能抓取第一面,然后显示线索抓取完成,之后又抓了两页之后又不在继续,这是什么问题?
2、本地页面存取,虽然存的是页面全部刷新的页面,在meta中打开之后页面的再刷新,到不了下一页,做不了翻页
yangmi_weibo1113
感谢解答,存在本地还是有问题~
更改浏览器设置的这个方法很奏效,谢谢!
PS:上面提到将页面存为本地的方法,我在其他的回复中看到过,但是不知道如何加载到metastudio中,教程里也没找到~ 貌似是企业版的?
怎样加载本地html
在浏览器中输入地址file:///c:/xxx,格式是这样的,具体地址是什么可以这样获得:在Windows文件夹中找到这个文件,点击鼠标右键,选择打开方式,选择 用Firefox打开,就能看到完整的地址了