非常感谢这款工具,请问您如果要获取那种嵌套的回复信息,应该怎样设置抓取规则呢?是不是应该在定义收集箱的时候就定义出容许嵌套的结构?谢谢!
理论上说,定义一个嵌套的整理箱就能提取嵌套的回复,但是,当前MetaStudio并不能人工控制递归,那么无穷嵌套的情况就难处理了
http://comment.news.163.com/news_guoji2_bbs/6V2TMH5O00014JB6.html 谢谢回复!这是一个网易新闻底下评论信息,里面有一些是“评论的评论”,我之前的整理箱不能读取这些嵌套在一起的评论, 只能保存嵌套中最新的一条,我在试能否用这款软件的整理箱规则按照一定的逻辑完整的记录下这些信息。 我现在的想法是,如果可以读取整个评论区域的源代码,那我自己写一个python程序整理一下其中的结构也可以。
参看抓取HTML片段,设置block-〉all特性,抓到HTML片段后用程序解析出递归的回复是一种很好的方案。MetaStudio定义递归规则有难度,这个样本页面我也在试验。
您好,在我尝试抓取AJAX分页数据的时候,有些页面可以获得我需要的HTML数据,但是有些页面好像是没有加载完成,就直接跳到下一页了,导致无法准确的获得每一页的HTML,这一过程是随机发生的,可能跟网速也有关系吧,我的设置是 “延长模式+积极模式”。
请告诉我主题名或者目标网页地址
我的主题名是 abc_123 网址:http://comment4.news.sina.com.cn/comment/skin/default.html?channel=gn&newsid=1-1-16303901&style=0
谢谢!
为信息属性设置key特性表示在网页上一定要出现这个字段,不出现则一直等待到超时,你不设置key,则不等待,当时加载了多少内容就抓多少,所以,有可能抓到空的
针对上面提出的那个同一页面反复读取的问题,请问您这个工具能否自定义等待AJAX页面 “加载或修改局部DOM” 的时间?而不是用 “积极模式”,因为这很可能导致同一页面的内容被反复的读取
我加上了key字段,现在的问题是,dataScraper好像在下一页数据显示出来以前就开始抓取数据了,这样的话抓取到的其实是前一页还残留的内容,导致同一页面的内容被反复多次的读取。
通常情况下不会出现重复抓取,因为在程序中有个很复杂的判断机制,一般不会抓取到残余信息。但是这个判断机制不是绝对的,比如,一个网页正常加载的话,各部分内容连续地通过AJAX机制下载下来,但是在一些异常情况下,可能中间出现长时间停顿,就会判断失误。此时,可以采用自动滚屏功能增加等待时间,但是,照样还会因为中断时间太长造成抓取失误。另外,这些新功能可能还有不完善的地方,如果发现异常,请告诉我们主题名是什么。
设置了额外滚屏数10,滚屏延时1,可能有点保守,不过还是解决了问题。不过您可以解释一下什么是 “额外滚屏数” 吗?我看了一下那篇说明文章,但是还是不理解。谢谢!
这个功能很新,我都有点说不清楚,通常scrollWindowRatio总是取2,而scrollMorePages根据网页的长度选择,可以先试试手工要滚多少屏,例如,新浪微博就要滚15屏(如果有图的话,需要这么多),那么这个参数就填写15。如果第一个参数是2的话,大概滚一屏是0.5秒,第二个参数是15的话,大概是15+5=20屏,其中5是缺省的。那么总共延时10秒。不过这个时间仅仅是个大概,有很大误差。最好不要改scrollWindowRatio
其实这个主题不复杂,收集箱的规则是抓取每个人的评论HTML块(包括时间、用户名、内容),然后设置好线内线索和标记线索("下一页")之后,就用DataScraper来抓每一页的评论。因为新浪的评论也只是动态修改那个评论区的DOM,有的时候翻页速度太快,评论区的新数据还没有加载上(还在显示”正在加载评论。。。“),程序好像就把前一页的数据当成新的了。所以我想的话能否让程序自己暂停一下,我也在试能否用滚屏参数控制。 谢谢!
最好给个案例一起研究一下
理论上说,定义一个嵌套的整理箱就能提取嵌套的回复,但是,当前MetaStudio并不能人工控制递归,那么无穷嵌套的情况就难处理了
网易新闻
http://comment.news.163.com/news_guoji2_bbs/6V2TMH5O00014JB6.html
谢谢回复!这是一个网易新闻底下评论信息,里面有一些是“评论的评论”,我之前的整理箱不能读取这些嵌套在一起的评论, 只能保存嵌套中最新的一条,我在试能否用这款软件的整理箱规则按照一定的逻辑完整的记录下这些信息。
我现在的想法是,如果可以读取整个评论区域的源代码,那我自己写一个python程序整理一下其中的结构也可以。
可以抓取HTML片段
参看抓取HTML片段,设置block-〉all特性,抓到HTML片段后用程序解析出递归的回复是一种很好的方案。MetaStudio定义递归规则有难度,这个样本页面我也在试验。
是否需要多次重复抓取AJAX分页数据
您好,在我尝试抓取AJAX分页数据的时候,有些页面可以获得我需要的HTML数据,但是有些页面好像是没有加载完成,就直接跳到下一页了,导致无法准确的获得每一页的HTML,这一过程是随机发生的,可能跟网速也有关系吧,我的设置是 “延长模式+积极模式”。
需要看一下主题和目标网站
请告诉我主题名或者目标网页地址
新浪评论
我的主题名是 abc_123
网址:http://comment4.news.sina.com.cn/comment/skin/default.html?channel=gn&newsid=1-1-16303901&style=0
谢谢!
一定要为至少一个信息属性设置key特性
为信息属性设置key特性表示在网页上一定要出现这个字段,不出现则一直等待到超时,你不设置key,则不等待,当时加载了多少内容就抓多少,所以,有可能抓到空的
能否自定义等待页面加载的时间?
针对上面提出的那个同一页面反复读取的问题,请问您这个工具能否自定义等待AJAX页面 “加载或修改局部DOM” 的时间?而不是用 “积极模式”,因为这很可能导致同一页面的内容被反复的读取
同一页面的内容被反复多次的读取
我加上了key字段,现在的问题是,dataScraper好像在下一页数据显示出来以前就开始抓取数据了,这样的话抓取到的其实是前一页还残留的内容,导致同一页面的内容被反复多次的读取。
可以用自动滚屏参数控制等待时间
通常情况下不会出现重复抓取,因为在程序中有个很复杂的判断机制,一般不会抓取到残余信息。但是这个判断机制不是绝对的,比如,一个网页正常加载的话,各部分内容连续地通过AJAX机制下载下来,但是在一些异常情况下,可能中间出现长时间停顿,就会判断失误。此时,可以采用自动滚屏功能增加等待时间,但是,照样还会因为中断时间太长造成抓取失误。另外,这些新功能可能还有不完善的地方,如果发现异常,请告诉我们主题名是什么。
用自动滚屏解决了
设置了额外滚屏数10,滚屏延时1,可能有点保守,不过还是解决了问题。不过您可以解释一下什么是 “额外滚屏数” 吗?我看了一下那篇说明文章,但是还是不理解。谢谢!
滚屏参数
这个功能很新,我都有点说不清楚,通常scrollWindowRatio总是取2,而scrollMorePages根据网页的长度选择,可以先试试手工要滚多少屏,例如,新浪微博就要滚15屏(如果有图的话,需要这么多),那么这个参数就填写15。如果第一个参数是2的话,大概滚一屏是0.5秒,第二个参数是15的话,大概是15+5=20屏,其中5是缺省的。那么总共延时10秒。不过这个时间仅仅是个大概,有很大误差。最好不要改scrollWindowRatio
主题名 abc_123
其实这个主题不复杂,收集箱的规则是抓取每个人的评论HTML块(包括时间、用户名、内容),然后设置好线内线索和标记线索("下一页")之后,就用DataScraper来抓每一页的评论。因为新浪的评论也只是动态修改那个评论区的DOM,有的时候翻页速度太快,评论区的新数据还没有加载上(还在显示”正在加载评论。。。“),程序好像就把前一页的数据当成新的了。所以我想的话能否让程序自己暂停一下,我也在试能否用滚屏参数控制。
谢谢!