断点续抓

翻页抓取无法停止后续抓

翻页抓取只能一口气翻底。相反,如果有很多线索,中间停止了,下次可以只抓取剩下的线索

关于抓取规则?

首先非常感谢fuller给网友的耐心回答,真的好感激!
在抓取天涯论坛中,我遇到了一下几个问题,请求fuller给予指点:
1. 一个论坛标题下的每个页面的帖子好像不能用同一个规则抓取,我把每页第一条和每页剩下的部分命名两个规则来抓取,结果在每页第一条用相对线索抓取正常,但是它涉及的纵向抓取(info抓取回帖人主页的相关信息),就只能抓一页了,在纵向爬行的线索统计里也只显示有1条,应该是很多条的啊,请问这是怎么回事呢? 我试了两遍 还是不行耶。我上载的主题名是pingan-t*
2. 上次看到论坛里 有朋友问断点续抓的问题,记得当时说可以用info线索,产生下一页的新线索,请问这样具体怎么做?如果,我同时还用到info来做纵向爬行呢,是不是这种情况下就不可行了?

天涯论坛很容易抓取

我看了pingan-t这个信息结构,有几个问题:
1,如果设置了AJAX抓取模式,一定要为至少一个信息属性勾选key特性。即使不用AJAX抓取模式,如果没有选择DataScraper菜单项“普通模式”,不设置key特性也不行。
2,如果想抓取所有跟贴,对于天涯论坛来说是很容易的,因为无论第一个还是后面的所有跟贴,都有FreeFormat标志@class=alt-item,把它映射给整理箱的容器节点p,就不怕第一个和第二个之间的广告内容了
3,翻页不一定非要用相对线索,我感觉这个网页用记号线索更合适

至于端点续抓,有两个方案:
1,参看《crontab.xml》,设置resumePageLoad参数,有很多限制,参看文章介绍。
2,翻页线索的inthread选项不要勾选,只有当页面的页码超链接有可用的url时才能用

端点续抓不是设置info类型

fuller,

fuller, 最近我用你说的这个有FreeFormat标志@class=alt-item,把它映射给整理箱的容器节点p,可是只显示抓了一条帖子(如抓王金婷的帖子,主题名是wjt),以前用时是没问题的,现在不知自己出什么错啊,请帮忙看下怎么了呢?谢谢啦 ~

还有,如果要对回帖人主页的信息进行第3层抓取,是不是要在抓取第2层主页信息时,重复类似第一层抓取的操作呢?即 再建一个info 的clue 呢?

察看MAP文件找到原因

在MetaStudio的Bucket Editor工作台上,点击MAP按钮,窗口下部会显示网页抓取规则,如果知道XSLT的话,可以看看这个抓取天涯论坛帖子的规则,按照您做的映射,生成的抓取规则中,抓取pages时自动使用@id=xxx进行定位,而@id=xxx是唯一的,所以只能抓一条。

解决方案1:为name和pages都做FreeFormat映射,用@class='atl-info'作为FreeFormat,这样就避免自动使用id。

解决方案2:修改定位偏好,也就是说指定MetaStudio使用id或者class作为定位标志,在Bucket Editor工作台上,整理箱放在一个Tab窗口中,Tab上显示字符串“FreeFormat”,用鼠标右键点击这个字符串,选择菜单“首选项”,选择“只用class”,可以修改定位偏好

freeformat

可以了,非常感谢!