4

Nutch v。1.6を実行していて、特定のサイトを正しくクロールしていますが、ファイルの構文が正しくないようですNUTCH_ROOT/conf/regex-urlfilter.txt

クロールしたいサイトのURLは次のようになります。

http://www.example.com/foo.cfm

そのページには、次のパターンに一致する多数のリンクがあります。

http://www.example.com/foo.cfm/Bar_-_Foo/Extra/EX/20817/ID=6976

上記の2番目の例にも一致するリンクをクロールしたいと思います。私のregex-urlfilter.txt中には次のものがあります:

+^http://www.example.com/foo.cfm$
+^http://www.example.com/foo.cfm/(.+)*$

Nutchは最初のフィルターと一致し、正しくクロールしますが、他のフィルターを使用してリンクを取得していないようです。上記の2番目のようなURLを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/(.*)*$

私のNUTCH_ROOT/urls/nutch中には:

http://www.example.com/foo.cfm/
4

1 に答える 1

7

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//?(.+)*$

//?文字/または文字を表す場所

于 2012-12-18T10:32:36.267 に答える