1

私はナットに少し慣れていません。問題は、別の URL にリダイレクトする URL をクロールしていることです。クロール結果を分析すると、最初の URL のコンテンツとステータス コード : temp redirected to (second url name) が表示されます。ここで私の質問は、なぜその 2 番目の URL のコンテンツと詳細を取得できないのかということです。リダイレクトされた URL がクロールされているかどうかはわかりません。助けてください。

4

3 に答える 3

0

Nutch2.3.1 では、nutch-site.xml に次のプロパティを設定しようとしましたが、次の試行でリダイレクトされた URL を取得するのに役立ちました。Nutch 2.3.1 を試している人には役立つかもしれません。

<property>
      <name>db.fetch.interval.default</name>
      <value>0</value>
      <description>The default number of seconds between re-fetches of a page (30 days).
      </description>
  </property>
于 2017-01-05T11:51:45.047 に答える
0

Nutch 2.3.1 では、クラスに getProtocolOutput というメソッドがあります。

org.apache.nutch.protocol.http.api.HttpBase

このメソッドには、別のメソッドへの呼び出しがあります

Response response = getResponse(u, page, false); (Line 250)

前のコードで false を true に変更します

このフラグは followRedirects を参照してください

次に、nutch クラスを再コンパイルすると、リダイレクトに従って正しく動作します :)

于 2018-03-08T11:46:59.633 に答える