翻页抓取无法进行下去

我照着说明书上进行微博信息抓取,能够翻页,但是翻页之后抓取不继续了,儿时停在了页面开头不知道是怎么回事,求高手解答,谢谢。

谢谢

谢谢你,问题已经解决,对知乎页面也更加了解了。

可以将主题名帖出来

将主题名帖出来, 我们可以加载上看下原因.

zhouhongyi_yx 谢谢了

zhouhongyi_yx 谢谢了

抓取新浪微博要打开自动滚屏功能

抓取新浪微博的博主页面,必须在DataScraper上设置自动滚屏参数,因为博主页面上的内容不是一次加载显示的,当用户浏览这个页面时,先显示20几条消息,当用户移动浏览器的卷滚条往下滚屏时,浏览器才去下载和显示其他部分。所以,需要按照手册设置滚屏参数。让DataScraper自动滚屏,激发浏览器下载完所有内容。

如果不滚屏到页面底部,翻页超链接没有显示,所以,DataScraper就翻不了页。

我的滚屏参数确实有

我的滚屏参数确实有设置,而且我提取时的确翻页了,但是翻完页后就停在页面顶端再也不进行下去了。状态栏显示总线索数:1 VDDPGL 剩余线索数:0 AGAIN
等过了很久很久以后,日志中可能会有条消息是页面加载时间超时

然后还有一个问题,我提取一次后紧接着再提取第二次时每次都不行,状态栏显示
总线索数:1 PLINE 剩余线索数:0 SUPA,必须我在metastudio中重新上传信息结构文件才行,不知道为啥?

谢谢

线索可以手工激活

提取一次后,线索状态就变了,不能再次提取了。如果前一次提取没有完整做完,线索会处于一个中间状态,可以在DataScraper选中这个主题,点击鼠标右键,选择线索-〉激活,可以再次提取。

用MetaStudio再次上传也是一种激活手段。

如果完整提取完了,就不能再用DataScraper的菜单激活了,得使用周期性提取指令文件crontab.xml重新激活某个主题的所有线索

如果已经翻页了,说明到下一页就不符合规则了。可以在MetaStudio上,先加载好这个信息结构。然后点击翻页链接,翻页完成后会在上端工具条上显示一个红色按钮,表示样本页面变了,等这个红色按钮显示出来后,选择菜单“文件”-〉“分析页面”,看看第二页哪个地方不符合。一般来说会因为选择的@class或者@id属性不合适造成的

不应该啊,我在第一

不应该啊,我在第一页的最后出现翻页链接的时候如果手动点击翻页,第二页是可以采集的啊。
我用您说的方法试了下,点击分析页面出现错误提示can not find the node,还有ERROR: ClueMappingManager: Fail to map marker(下一页): RowNo is not valid
如果可以的话,您能帮忙在我的主题上修改下吗,我还是不会修改。谢谢

要采用积极模式

用MetaStudio定义信息结构时,设置“配置”->“积极模式”。您只设置了延长模式,抓取新浪微博还不够。
当在MetaStudio浏览器窗口手工翻页到第二页后,顶端工具条中间的绿色按钮没有变成红色,而且出现can not find the node提示,说明翻到第二页时没有重新加载DOM,只是对DOM进行了局部修改。这种情况一定要设置积极模式
设置积极模式后,如果网速很慢,很容易翻页到一半就中断了,因为信息结构指定的具有key特性的信息属性已经加载上一些,虽然没有完全加载完,但是key的判断条件已经满足了,所以,就将不完整的网页抓取下来了。为了防止这种情况,需要设置一个参数lazyCycle,让程序多等待一段时间,这个参数不能在界面上设置,只能在周期性抓取指令文件crontab.xml上设置。
总结一下,在crontab.xml中需要设置:

  • lazyCycle,要尝试几次,设置太长,空闲等待时间太长了;设置太短, 就会抓到半拉网页
  • scrollWindowRatio,一般设置成2
  • scrollWindowPages:也要尝试几次,设置太大就会空闲等待太长时间;设置太小,就滚屏不到底

除此以外,DataScraper运行前需要在菜单上选择“全屏显示”,可以有效减少滚屏次数
设置这些参数后,抓取速度明显降低,因为空闲等待时间太长,可以用crontab.xml启动多个线程同时抓。总之,抓取新浪微博很耗时,曾经连续跟踪监视过top500 名人微博,相当耗时。

正在测试您的规则

在点击分析页面之前, 需要执行“刷新DOM”,我发现这个网页不能自动刷新DOM

谢谢您的不吝赐教,

谢谢您的不吝赐教,选择积极模式后第二页就开始采集了。然后我按您说的方法建立了crontab.xml文件,并且尝试了几种参数的设置,但是每到第二页页面滚动几次后就(停止了)变白屏了。是不是参数设置问题。
还有就是那个排期与crontab.xml有什么关系吗?

网络速度是多少?

我估计是网络速度不够,可以将lazyCycle设置大一些。我的网络是4M,我用lazyCycle=10,很稳定。

crontab.xml中有的内容,才能用排期菜单启动。比如,在crontab.xml中,有些thread的auto特性设置为false,那么不能自动运行,只能使用手工排期操作启动它

翻页抓取

主题名是test_answer3
我想抓取"5个回答被折叠"的剩余5个people,定义了翻页抓取
怎么操作才能抓取成功呢,谢谢>_<

知乎全部回答抓取方法

这个网站如果不登录,竟然能够看到更多回答,没有出现折叠这个词。登录有出现了。有点奇怪。

经过测试,发现让MetaSeeker模拟点击数字就能翻页,而不是点击“个回答被折叠”,所以我用SPAN的@id的值作为记号进行记号映射。在映射前要不选最左边的那个复选框,表示允许用属性做映射。

线索定位选择 选择“

线索定位选择
选择“偏好id”能够翻页,但是显示
总线索数:1 VDDPG
剩余线索:0 AGAIN1
抓取结果没有翻页后的内容
主题名为test_answer33

至少给一个信息属性设置key特性

设置了AJAX选项,一定要给至少一个信息属性设置key特性,这个信息结构只有一个信息属型people,要给他设置key特性

谢谢你这么耐心回答

谢谢你这么耐心回答我问题!!可是设置了key特性,还是抓取不成功

这个网站有点麻烦

在Clue Editor上,通常不用设置key特性,因为翻多最后页面上往往就不显示翻页标志了。现在问题就出在这个网页的翻页标志总是有上面,即使翻完了,还显示“个回答被折叠”,如果处理不好就永远停不下来。

请看test_answer33_fuller,MetaStudio菜单“首选项”,选择“线索定位”,选择“偏好class”。因为点击“个回答被折叠”后,它的class值会变化,这样就能判断已经点击过了

谢谢你,问题已经解

谢谢你,问题已经解决,对知乎页面也更加了解了。