2017-10-05 10 views
0

私はApache NutchとSolrでのクロールに慣れていましたが、HTTPとHTTPSのリンクはSolrのクエリ結果で利用可能ですが、contentフィールドの磁石リンクは利用できません。私はApache NutchとSolrでマグネットリンクをクロールして、Solrの検索結果で利用できるようにする方法はありますか?

-^(file|ftp|mailto): 

# skip image and other suffixes we can't yet parse 
# for a more extensive coverage use the urlfilter-suffix plugin 
-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|CSS|sit|SIT|eps|EPS|wmf|WMF|zip|ZIP|ppt|PPT|mpg|MPG|xls|XLS|gz|GZ|rpm|RPM|tgz|TGZ|mov|MOV|exe|EXE|jpeg|JPEG|bmp|BMP|js|JS)$ 

# skip URLs containing certain characters as probable queries, etc. 
#-[?*[email protected]=] 

# skip URLs with slash-delimited segment that repeats 3+ times, to break loops 
-.*(/[^/]+)/[^/]+\1/[^/]+\1/ 

# for linuxtracker.org 
+^https?://*linuxtracker.org/(.+)*$ 
#+^magnet:\?xt=(.+)*$ 
    # causes magnet links to be ignored/not appear in content field 
+^magnet:*$ 

# reject anything else 
-. 

するconf/regex-urlfilter.txtを調整し、マグネットリンクはcontent内部に含まれない理由は表示されません。ご覧のとおり、私はhttp://linuxtracker.orgを使ってこれを調べています。マグネットリンクマグネット:?xt = urn:btih:ETDW2XT7HJ2Y6B4Y5G2YSXGC5GWJPF6P on http://linuxtracker.org/?page=torrent-details&id=24c76d5e7f3a758f0798e9b5895cc2e9ac9797cf

solr = pysolr.Solr(solr_core_url, timeout=10) 
results = solr.search('*:*') 
for result in results: 
    print(result) 

私はUbuntuの17.04でApache Nutchのリリース-1.13から73を-g9446b1e1とSolrの6.6.1を使用しています:pysolrに次のようにSolrを照会する場合がbin/crawlとしている磁石のリンクをクロールした後

+0

マグネットリンクをクロールするとどうなるでしょうか? – MatsLindh

+0

目的はサイト/ドメイン上のすべてのマグネットリンクのリストを持ってそれを使って何かをすることです。 –

答えて

1

短い回答磁石のリンクは「通常の」リンクではなく、Nutchの箱からはサポートされていません。

長い答え:あなたはpossible outlink is a valid linkこれは基本的に作成した場合、解析プラグインが評価しようとparse-htmlを使用している場合

あなたが得るのリンク後に適用さを変更した構成は、この場合には、抽出されていますjava.net.URL。一方、

java.net.URLはjavadocをによると、箱から出してマグネットリンクをサポートしていません:次のプロトコルのための

プロトコルハンドラが検索パス上に存在することが保証されています

http, https, ftp, file, and jar 

ご使用の場合はparse-tikasomething similar is happeningです。

Nutchができないため、いずれの場合でも磁石リンクをフォローしたくない(アウトリンクを持たない)ことを念頭に置いて、カスタムパーサを用意することもできますそれらのリンクを処理する。

あなただけ(検索用)のSolr/ESにインデックスを付けたリンクを持っているしたい場合は、HtmlParseFilter独自に作成し、インスタンスごとに分離フィールドにそれらのリンクを追加することができます。

+0

ありがとうございます。プラグインのビルドプロセスは、[mavenへの移行](https://issues.apache.org/jira/browse/NUTCH-2292)のソースルートが[ ant](https://wiki.apache.org/nutch/WritingPluginExample-1.2)。 –

+1

助けてくれたことを嬉しく思っています。正直なところ、(antでさえ)プラグインを書くことはあまり難しくありません。 –

関連する問題