使用Nutch在抓取具有类似
等参数的网址时,是否存在任何风险(如循环)http://something.com?page=index
url-regexfilter会忽略此类网址。如果我删除此过滤器,我是否可能会忽略可能导致问题的内容?
答案 0 :(得分:1)
Nutch removes the query strings,因此解析拥有它们的网址时没有问题。最有可能删除查询字符串的原因是因为某些网站在查询字符串中添加了跟踪信息,并且它可能会通过反复排队相同的链接来强制“笨”爬虫进入“无限循环”,这些链接的唯一区别在于跟踪信息。查询字符串。
事实证明,Nutch允许您通过在crawl_urlfilter.txt和regex-urlfilter.txt中注释掉相应的行来turn on crawling with query strings来启用包含“?”的网址的抓取在他们中。
但是,正如我在下面的评论中提到的:查询字符串可以包含跟踪信息,这可能会导致爬虫的URL看见测试出现问题。第一个问题是它会使URL看到的数据库太大,因为会有很多重复项,其唯一的区别是查询字符串中的跟踪信息。第二个问题是,运行URL看到的测试会慢得多,因为数据库太大了!
因此,在更改有关是否应允许查询字符串的选项时请记住这一点。