問題タブ [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.
java - クローラー4jを使用してページ上のすべてのリンクを抽出する方法は?
私は Web クローラーを実装しており、Crawler4j ライブラリーを使用しています。Web サイトのすべてのリンクを取得できません。Crawler4j を使用して 1 ページのすべてのリンクを抽出しようとしたところ、一部のリンクが欠落していました。
Crawler4j バージョン:crawler4j-3.3
使用した URL : http://testsite2012.site90.com/frontPage.html
このページのリンク数 : ほぼ 60 のうち 4 ~ 5 が繰り返しリンクされています
クローラー4jが提供したリンクの数: 23
これはページ上の URL のリストで、これは Crawler4j によって指定された URL のリストです。
リンクを抽出するためにcrawler4jを使用して「HtmlContentHandler.java」ファイルを調べました。これでは、「src」および「href」リンクに関連付けられたリンクのみが抽出されています。
これらのファイルの違いを見つけます。Crawler4j には、'src' または 'href' 属性に関連付けられておらず、'script' タグの下にあるリンクがありません。 これは、crawler4j がクロールしなかったリンクのリストです。
このページのすべてのリンクを抽出するにはどうすればよいですか? HTML 解析ページで文字列操作 ('http' の検索など) を行う必要がありますか、それとも 'HtmlContentHandler.java' ファイルのコードを変更する必要がありますか?
どちらが最善の方法ですか?
文字列操作を行ってこのページのすべてのリンクを抽出しても、Crawler4j はそれ自体でクロールされたリンクを使用して Web サイトをクロールしているため、一部のページを見逃すことはありませんか?
java - 実行時にCrawler4jにシードを追加する方法は?
私はクローラー4jを使用しており、実行時にリンクを追加する必要があります。たとえば、シード「LinkA」を追加すると、crawler4j がクロールを開始しました。プログラムの実行中に、シード「LinkB」をもう 1 つ追加したいと思います。それはできますか?はいの場合、どのように?
前もって感謝します。
java - 実行時にクロールする URL のリストを制御する
Crawler4j では、関数をオーバーライドし、boolean shouldVisit(WebUrl url)
'true' と 'false' を返すことで特定の URL のクロールを許可するかどうかを制御できます。
しかし、実行時に URL を追加できますか? はいの場合、それを行う方法は何ですか? 現在、クラス内addSeed(String url)
の前に関数を使用してプログラムの先頭に URL を追加できます。 を使用して新しい URL を追加しようとすると、エラーが発生します。ここにエラー画像があります。start(BasicCrawler.class, numberOfCrawlers)
CrawlController
addSeed(String url)
質問に答えるためにプロジェクトについてさらに詳細が必要な場合はお知らせください。
scala - Selectively disable log4j debug log in Play console
I have a Play 2.0 app, ran play console
from the command line. Somewhere in one of the libraries I use, it uses log4j
and started to stream debug output for [crawler4j][1]
, I'm trying to figure out how to selectively disable that output in the play console. I have tried changing the following in application.conf
and logger.xml
without any luck
Here's a sample of the streaming debug log
Just to be clear, the log settings are enforced when I ran the Play app from command line, it's when I run it from within the play console
that the settings are not enforced.
web-crawler - 404/500エラーを検出するためにサイトをクロールする方法は?
404/500エラーを探す(つまり、200の応答を確保する)ためにサイトをクロールする(すべてのローカルリンクをクリックする)高速な(おそらくマルチスレッドの)方法はありますか?
また、各タイプのリンクの1つだけをクリックするように設定できるようにしたいと思います。したがって、1000のカテゴリページがある場合、クリックするのは1つだけです。
http://code.google.com/p/crawler4j/は良いオプションですか?
セットアップが非常に簡単なものが欲しいのですが、JavaよりもPHPの方が好きです(ただし、Javaの方がはるかに高速であれば、問題ありません)。
crawler4j - Webサイト全体をクロールせずにURLのリストをクロールするcrawler4j
クロールする必要のあるWebURLのリストがあります。深くクロールせずに、Webページのリストのみをクロールすることは可能ですか。URLをシードとして追加すると、完全なWebサイトが完全な深さでクロールされます。
java - Crawler4j CrawelController クラスの NoSuchMethodError
私はここで与えられた例を使用しており、[ここ](http://code.google.com/p/crawler4j/downloads/list)から必要なファイル(crawler4j-3.3.zip &crawler4j-3.x-dependencies.zip)を含めています私のビルドパスと実行パス。
このエラーが発生しています:
Exception in thread "main" java.lang.NoSuchMethodError: com.sleepycat.je.EnvironmentConfig.setAllowCreate(Z)Lcom/sleepycat/je/EnvironmentConfig;
at edu.uci.ics.crawler4j.crawler.CrawlController.<init>(CrawlController.java:90)
at edu.uci.ics.crawler4j.examples.basic.BasicCrawlController.main(BasicCrawlController.java:100)
log4j:WARN No appenders could be found for logger (org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager).
log4j:WARN Please initialize the log4j system properly.
.
このファイルには必要な機能があるため、エラーの理由を理解できません。行番号 75 を参照してください。
私を助けてください 。Java の専門知識はあまりありません。この問題はこれに関連していますか。はいの場合、それを修正する方法。
java - どの html パーサーを使用すればよいですか?
HTML ドキュメントを解析する必要がある製品に取り組んでいます。Jericho、TagSoup、Jsoup、および Crawl4J を探しました。Quartz を使用してマルチスレッド環境でこのプロセスを実行する必要があるため、HTML を解析するにはどのパーサーを使用すればよいですか?
一度に 10 個のスレッドがメモリ内で実行される場合、メモリの消費量が少ない API が必要です。ジェリコでは、テキストベースの検索 API であり、メモリ消費量が少ないことをどこかで読みました。私は正しいですか?または、他の方法を選択する必要がありますが、その理由は何ですか?
java - Java - Eclipse - 宣言されたパッケージ「edu.uci.ics.crawler4j.examples.basic」が、予期されるパッケージ「」と一致しません
Crawler4jのサンプル コードをセットアップしようとしていますが、Eclipse が理解できないエラーをスローしています。エラーは次のとおりです。
パス「edu.uci.ics.crawler4j.examples.basic」があり、正しいです。
java - クローラー4jのパラメーターの決定
この例で使用されているようにcrawler4jを使用しようとしていますが、クローラーの数を定義したり、ルートフォルダーを変更したりしても、次のコードからこのエラーが発生し続けます。
"必要なパラメーター:rootFolder(中間クロールデータが含まれます)numberOfCralwers(同時スレッドの数)"メインコードは次のとおりです。
ここで知りたいことを正確に尋ねる同様の質問がありましたが、java BasicCrawler Controller "arg1" "arg2"と入力する場合のように、解決策を完全には理解していませんでした。私はこのコードをEclipseで実行していますが、プログラミングの世界にはまだかなり慣れていません。誰かがこの問題を理解するのを手伝ってくれたら本当にありがたいです