问题:
翻页到最后一页还有翻页的标志,最后会陷入死循环,怎么解决这种问题,求教?
回答:
有多种解决方案:
1)研究一下DOM结构,看看最后一页的翻页标志在DOM中是否有变化,经常会发现@class或者@id有变化。如果有变化,那么把这个变化反映到自定义xpath中,比如是用not()函数,排除最后一页那种情形,那么到最后一页就能停止。
在MS谋数台的爬虫路线工作台上,点击“查看”按钮,就能在窗口下部的窗口中显示生成的翻页规则,可以直接修改XPath表达式,修改以后点击“保存修改”。
请注意:这样的修改称为人工微调抓取规则,必须先点击“存规则”以后才能微调,否则,点击“存规则”会把微调的结果冲掉。
2)用周期性抓取指令文件crontab.xml强制在抓取多少分页以后停止,即设置depth参数。
请注意:这种方法要合理估计翻页次数,防止漏抓
3)判断重复,也是需要crontab.xml进行设置,dupRatio表示达到百分之多少的重复率即停止抓取,而且是在连续三页都达到这个重复率后才终止。
请注意:目前不是针对文本内容进行判断,而是根据抓取到的下一级线索的重复率进行判断,如果没有设置下一级,那么就不能用这个方法 |
|
|
|
|
共 1 个关于本帖的回复 最后回复于 2015-10-28 23:30