Nutch regex-urlfilter语法

Nic*_*ung 4 regex web-crawler nutch

我正在运行Nutch v.1.6并且它正确地抓取特定站点,但我似乎无法获得该文件的语法正确NUTCH_ROOT/conf/regex-urlfilter.txt.

我想抓取的网站有一个类似于此的网址:

http://www.example.com/foo.cfm
Run Code Online (Sandbox Code Playgroud)

在该页面上有许多链接符合以下模式:

http://www.example.com/foo.cfm/Bar_-_Foo/Extra/EX/20817/ID=6976
Run Code Online (Sandbox Code Playgroud)

我想抓取与上面第二个示例相匹配的链接.在我,regex-urlfilter.txt我有以下内容:

+^http://www.example.com/foo.cfm$
+^http://www.example.com/foo.cfm/(.+)*$
Run Code Online (Sandbox Code Playgroud)

Nutch匹配第一个并正确抓取它,但似乎没有使用其他过滤器获取链接.我怎样才能让Nutch像上面的第二个一样抓取网址?

我试过以下没有运气:

+^http://www.example.com/foo.cfm/(.+)*$
+^http://www.example.com/foo.cfm/(.)*$
+^http://www.example.com/foo.cfm/.+$
+^http://www.example.com/foo.cfm/(.*)*$
Run Code Online (Sandbox Code Playgroud)

在我的NUTCH_ROOT/urls/nutch身上:

http://www.example.com/foo.cfm/
Run Code Online (Sandbox Code Playgroud)

xhu*_*dik 8

根据http://wiki.apache.org/nutch/FAQ#What_happens_if_I_inject_urls_several_times.3F,您不能拥有多个URL(它们将被忽略).怎么样放:

+^http://www.example.com/foo.cfm/(.+)*$
Run Code Online (Sandbox Code Playgroud)

这应该涵盖你的第一行:+^http://www.example.com/foo.cfm$或者,如果有问题/,请尝试:

+^http://www.example.com/foo.cfm//?(.+)*$
Run Code Online (Sandbox Code Playgroud)

在哪里//?应该代表品格/