Java の Web サイトから HTML ソース コード ファイル全体を取得したいと考えています (または、これらの言語で表示する方が簡単な場合は Python または PHP)。HTML を表示し、いくつかの方法でスキャンするだけで、編集や操作は一切行いません。また、他に方法がない限り、新しいファイルに書き込まないことを本当に望んでいます。これを行うライブラリクラスまたはメソッドはありますか? そうでない場合、これについて何か方法はありますか?
1093 次
3 に答える
5
Java の場合:
URL url = new URL("http://stackoverflow.com");
URLConnection connection = new URLConnection(url);
InputStream stream = url.openConnection();
// ... read stream like any file stream
このコードは、スクリプト作成および内部使用に適しています。ただし、本番環境での使用には反対します。タイムアウトや失敗した接続は処理しません。
プロダクションでの使用にはHttpClient ライブラリを使用することをお勧めします。認証、リダイレクト処理、スレッド化、プーリングなどをサポートしています。
于 2009-12-03T03:44:10.920 に答える
2
Python の場合:
import urllib
# Get a file-like object for the Python Web site's home page.
f = urllib.urlopen("http://www.python.org")
# Read from the object, storing the page's contents in 's'.
s = f.read()
f.close()
詳細については、Python と HTML の処理を参照してください。
于 2009-12-03T03:41:13.127 に答える
0
おそらく、コマンド ラインからwgetやcurlなどの標準ユーティリティを実行して、サイト ツリーをローカル ディレクトリ ツリーにフェッチするなどの代替手段も検討する必要があります。次に、ローカル コピーを使用して (Java、Python などで) スキャンを実行します。エラー処理、引数の解析などの退屈なものをすべて自分で実装するよりも、それを行う方が簡単なはずです。
サイト内のすべてのページを取得したい場合、wget と curl は HTML ページからリンクを取得する方法を知りません。別の方法は、オープン ソースの Web クローラーを使用することです。
于 2009-12-03T06:25:36.680 に答える