怎样使DataScraper在断点处续传

因学习需要,本人必须下载几个比较热的版块的一年的贴子,校内的网络不是很稳定,一直会断,在爬取各个贴子的链接时,需要翻页,但是当它中断并把它激活以后,发现是从开始处重新爬取,而不是在断点处……这样会造成我永远也不能完整爬取一年的贴子的……第二,我在爬取搜狐论坛的贴子时,首先要爬取各个贴子的链接,然后才能纵向爬取每个贴子的内容,对么?为什么在第一步的爬取中一直都是5分钟爬取一页,在下一步爬取帖子详情时,差不多是1秒多一页(这是您说的正常的速度),我在$Home下.datascraper下设置了crontab.xlm文件,仍然没有改善,求Fuller指点

断点续抓方法

在crontab.xml文件中,设置resumePageLoad和resumeMaxCount两个参数,参看《crontab.xml的结构》

不是所有网页都能断点续抓,只有普通html网页可以,如果是AJAX抓取模式,通常都不能续抓。

论坛翻页很多的话,可以不用线内线索方式,线内线索方式需要一口气翻完。不用线内线索方式,而是生成一个普通线索,指向下一页。这样每抓一页,生成一个下一页的线索,这样就没有中断的问题了。

翻页很慢的原因估计是目标网站本身很慢。

追问搜狐论坛

请问下,即便网络不断的情况下,比如有200个小文件弄下来,就意味着是爬取了200页吗?那每页60个贴子,就会有12千个链接生成,对么?为什么我在下一步使用纵向爬取各贴子详情时,发现start项后面的数远远小于12千,甚至连1千都没有,那我爬取下来的链接都是重复的么?还是什么原因?
当我使用这些链接爬取贴子详情时,要用两次纵向爬行,一次是发帖人昵称、发帖时间、发帖内容等,一次是回帖人的相关情况,我发现只能使用一次这些链接做纵向爬行,是这样的吗,还是我设置的问题呢?顺便希望您帮我判断下搜狐论坛是ajax的么?望您解答,拜谢

搜狐论坛抓取

拿一页抓取结果对一下也许能够发现原因,数一数抓到的帖子数量是否和实际网页上一致。不一致的原因是信息结构定义不合理。抓取国内论坛的时候一定要注意,帖子设置了很多级别,比如,置顶、设精、新贴、热贴等等,每一种在HTML上都有些细微差别,如果做信息属性映射时不注意,很可能生成的抓取规则不具有通用性。

另外,注意观察DataScraper下部日志窗口中的信息。

最后,论坛网站通常是比较传统的网址,上面的AJAX代码较少。

搜狐论坛

搜狐上面没有您说的那些标志,http://club.women.sohu.com/zz0894/threads/#p1,这是我爬的版块,在加载了页面之后,把配置里面的自动创建、自动刷新DOM去掉,选中了积极模式和延长模式以后,有时候在我没有完成映射的时候,就会发现浏览器窗口的页面已经发生了变化,再继续进行映射的话就是提示找不到节点,这是怎么回事呢?爬取下来的帖子数目很少,与这个有关系么?我终于发现,爬下来的东西几乎是一样的,它不会往后面翻页,只是重复的爬一页的东西……而相同的设置方法在新浪论坛里面是可以翻页的,这是怎么回事啊?您能亲自帮我实验一下吗?万分感谢了

翻页抓取规则不对

没有翻页抓取的话就是翻页抓取规则不对.如果映射的时候找不到节点,可以在映射之前再手工刷新一下DOM,使用菜单“文件”-〉“刷新DOM”。如果还是找不到节点,就说明AJAX代码不断修改DOM,这种情况下很容易造成MetaStudio崩溃,如果不崩溃就不用管,如果崩溃,可以在Firefox上暂时关闭javascript。

如果还是有问题解决不了,告诉我主题名,我看看您定义的信息结构。

仍然无法翻页

我的主题名是我家理财2,我已经分别试过了相对线索法和记号线索法,可是我觉得这两种方法好像都不能和http://club.money.sohu.com/licai/threads/?page=3的结构一致,所以是仍然无法翻页……而且,我发现很奇怪的现象,不管我复制这个论坛哪一页的完整地址,粘贴到MataStudio中再回车的话,下方浏览器中都会出现该板块的首页的内容,也就是网址和浏览器不一致……我现在面对这两个工具越来越迷糊了,望您帮我实验一下,看到底哪里错了,还有goodbye和goodbye2都是我。让您周末都不能休息,太麻烦您了

搜狐社区论坛抓取技巧

翻页确实使用javascript代码实现的,连续翻页,设置线内线索,正如您定义的信息结构一样,但是做线索映射时稍微调整一下。“查看下一页精彩内容”那个DIV用作线索映射,注意,当用来翻页的那个节点不是A(搜狐论坛这个网页是DIV),通常直接用表示下一页的那个节点做线索映射。同时,为了定位准确,可以设置线索的定位首选项。选择菜单“配置”-〉“首选项”,注意选择“线索定位”那个标签,设置“偏好class”