問題タブ [crawler4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
591 参照

java - crawler4j visit() で URL のシードを取得する

こんにちは、クローラー4jの訪問機能でページのシードを取得するにはどうすればよいですか? これまでのところ、ページの URL はわかっていますが、そこにつながるシードが何であったかわかりません。

0 投票する
1 に答える
904 参照

java - Http Content-Length を無視することは可能ですか?

Web サイトに関する情報を収集するためにCrawler4Jを使用しています。しかし、時々次のエラーが発生します。

情報: {someurl} のコンテンツを取得中に例外が発生しました [Content-Length で区切られたメッセージ本文が途中で終了しました (予想: X; 受信: Y]

(私には) X < Y の場合に発生するのか、それともその逆なのかは明確ではありません。

例外は、fetchContent の「fetcher.PageFetchResult.java」でスローされます (応答ヘッダーを取得するときに推測します)。

私の質問は次のとおりです。(一般的に) http content-length を無視して情報を取得する可能性はありますか?

私はすでにcrawler4jの問題を調べましたが、同様の問題はありません。

おそらく、stackoverflow コミュニティの誰かがこれを解決する方法を知っているでしょう。

どうもありがとうございました、

ひし

編集

この例外をスローするコード (スニペット):

responseHeaders とエンティティが null (デフォルト):

0 投票する
1 に答える
652 参照

multithreading - Grails: コントローラーからスレッドに値を渡す

私のプロジェクトでは、私の Grails コントローラーのアクションは、新しいスレッドを作成し、このアクションが実行されるたびにクラス フォーム src/groovy フォルダーを呼び出すことです。このアクションの値を、作成中の新しいスレッドに渡す必要があります。どうすればこれを達成できますか?

更新: プロジェクトにクローラー4jを実装しています。

私のコントローラーコードは次のとおりです。よろしくお願いします。

Crawler4j は、BasicCrawler クラスを呼び出すときに新しいスレッドを開始します。

BasicCrawler クラスには、訪問機能があります。Web サイトの値を ResourceController から visit 関数に渡す必要があります。

0 投票する
1 に答える
298 参照

http - jsoup を使用して jpg ファイルの HTTP ステータスを確認する

次のように、jsoup を使用して URL の http ステータス コードを取得しています。

基本的に、指定されたURLが200ステータスコードを返しているかどうか、つまり、htmlページが存在するかどうか、またはpdfファイルが存在するかどうかなどを確認したいと思います。jpg ファイルは jsoup で解析できないため、.jpg で終わる URL では機能しません。私はクローラー4jと組み合わせてjsoupを使用しています。すべての URL の http ステータス コードを見つける方法は他にありますか。私の URL は次の拡張子で終わります:

css js pdf zip rar tar png gif html

0 投票する
2 に答える
462 参照

java - 特定のプレフィックスを持つ URL をクロールする

crawler4j特定のプレフィックスを持つ特定の URL でクロールしたいと思います。

たとえば、URL がそれで始まるhttp://url1.com/timer/image場合は有効です。例: http://url1.com/timer/image/text.php.

この URL は無効です:http://test1.com/timer/image

私はそれを次のように実装しようとしました:

ただし、クローラーは他の URL にもアクセスするため、これは機能していないようです。

私ができることは何ですか?

あなたの答えに感謝します!

0 投票する
1 に答える
934 参照

java - Windows の増分クロールをサポートする Web クローラー

  • インクリメンタル クロールをサポートする Java で開発されたオープン ソースの Web クローラーが必要です。

  • Web クローラーは、簡単にカスタマイズして、solr または elasticsearch と統合する必要があります。

  • より多くの機能を備えてさらに発展しているアクティブなものになるはずです。

  • Aperture は優れたクローラーの 1 つであり、私が言及したすべての機能を備えていますが、アクティブなクローラーではなく、依存関係のライセンス (商用目的で使用する場合) のために無視しました。

  • Nutch - Hadoop をサポートするより多くの機能を備えた Web クローラー。しかし、私は多くのWebサイトとチュートリアルを調べましたが、適切なドキュメントはなく、WindowsでプログラムでカスタマイズするためのAPIが見つかりました. Eclipse でコードを編集できましたが、map reduce ジョブの実行中に多くのエラーが発生しました。アパーチャのように実装する Nutch 用の Java API はありません。

  • Crawl4j は優れた Web クローラーですが、インクリメンタル クロール機能はなく、ライセンスの問題も確認していません。

私が言及したすべての機能を備えた他のクローラーはありますか、または私の要件に対して上記のクローラーのいずれかを使用する方法はありますか?

役立つ回答をいただければ幸いです。