我正在运行 Nutch v. 1.6 并且它正在正确地抓取特定站点,但我似乎无法获得文件 NUTCH_ROOT/conf/regex-urlfilter.txt
的正确语法。
我要抓取的网站有一个类似这样的网址:
http://www.example.com/foo.cfm
在该页面上有许多与以下模式匹配的链接:
http://www.example.com/foo.cfm/Bar_-_Foo/Extra/EX/20817/ID=6976
我也想抓取与上面第二个示例匹配的链接。在我的
regex-urlfilter.txt
中,我有以下内容:+^http://www.example.com/foo.cfm$
+^http://www.example.com/foo.cfm/(.+)*$
Nutch 匹配第一个并正确抓取它,但似乎没有使用其他过滤器获取链接。我怎样才能让 Nutch 像上面的第二个一样抓取 URL?
我尝试了以下但没有运气:
+^http://www.example.com/foo.cfm/(.+)*$
+^http://www.example.com/foo.cfm/(.)*$
+^http://www.example.com/foo.cfm/.+$
+^http://www.example.com/foo.cfm/(.*)*$
在我的
NUTCH_ROOT/urls/nutch
我有:http://www.example.com/foo.cfm/
最佳答案
根据 http://wiki.apache.org/nutch/FAQ#What_happens_if_I_inject_urls_several_times.3F 您不能有多个 URL(它们将被忽略)。将 只放在 怎么样:
+^http://www.example.com/foo.cfm/(.+)*$
这应该涵盖您的第一行:
+^http://www.example.com/foo.cfm$
,或者,如果 /
有问题,请尝试:+^http://www.example.com/foo.cfm//?(.+)*$
其中
//?
应代表字符 /
或
关于regex - Nutch regex-urlfilter 语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13884249/