1

JSoup ライブラリを使用して Web ページのテキストを抽出しています。以下は私のコードです

 Document doc;

try {
 URL url = new URL(text);


 doc = Jsoup.parse(url, 70000);

 Elements paragraphs = doc.select("p");
 for(Element p : paragraphs)
 {

    textField.append(p.text());
    textField.append("\n");
 }
} 
catch (Exception ex)
{

   ex.printStackTrace();

} 

ここでは、「p」タグからのみテキストを取得できます。しかし、ページ内のすべてのテキストが必要です。どうすればいいですか?それはノードをループすることによるものかもしれませんが、私はJSoup.

4

3 に答える 3

1

これを試して:

String text = Jsoup.parse(new URL("https://www.google.com"), 10000).text();
System.out.println(text);

ここで、10000 はミリ秒単位で、タイムアウトを表します。

于 2013-10-09T08:54:26.030 に答える
0

HTML 解析は必要なく、テキスト抽出のみが必要なため、Boilerpipeを使用することをお勧めします。これにより、より高速で、CPU の消費が少なくなります。

例:

URL url = new URL("http://www.example.com/some-location/index.html");
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you
String text = ArticleExtractor.INSTANCE.getText(url);

から取得: https://code.google.com/p/boilerpipe/wiki/QuickStart

于 2013-10-10T11:10:53.320 に答える
0

おそらく、まったく異なるアプローチです。あなたが何をしているのか正確にはわからないので、あなたが何を必要としているのか正確にはわかりません。しかし、Web ページ全体の生のソース全体を取得することはできます。次に、regexp を使用してすべての html タグを削除します。テキストとコードの比率ツールについて、(php で) 似たようなことを 1 回行いました。

于 2018-04-01T11:51:44.497 に答える