外部ライブラリを使用せずに、Web サイトの HTML コンテンツを文字列に取得する最も簡単な方法は何ですか?
pek
質問する
67110 次
5 に答える
44
私は現在これを使用しています:
String content = null;
URLConnection connection = null;
try {
connection = new URL("http://www.google.com").openConnection();
Scanner scanner = new Scanner(connection.getInputStream());
scanner.useDelimiter("\\Z");
content = scanner.next();
scanner.close();
}catch ( Exception ex ) {
ex.printStackTrace();
}
System.out.println(content);
しかし、より良い方法があるかどうかはわかりません。
于 2008-08-28T01:21:00.797 に答える
21
This has worked well for me:
URL url = new URL(theURL);
InputStream is = url.openStream();
int ptr = 0;
StringBuffer buffer = new StringBuffer();
while ((ptr = is.read()) != -1) {
buffer.append((char)ptr);
}
Not sure at to whether the other solution(s) provided are any more efficient or not.
于 2008-08-29T05:11:10.500 に答える
2
この投稿を他のスレッドに残しましたが、上記のものも同様に機能する可能性があります. どちらか一方よりも簡単だとは思いません。import org.apache.commons.HttpClient
コードの先頭でを使用するだけで、Apache パッケージにアクセスできます。
編集:リンクを忘れました;)
于 2008-08-28T01:31:53.187 に答える
1
バニラJavaではありませんが、より簡単なソリューションを提供します。Groovyを使用してください;-)
String siteContent = new URL("http://www.google.com").text
于 2013-03-05T09:16:53.393 に答える