0

Java の Web サイトから HTML ソース コード ファイル全体を取得したいと考えています (または、これらの言語で表示する方が簡単な場合は Python または PHP)。HTML を表示し、いくつかの方法でスキャンするだけで、編集や操作は一切行いません。また、他に方法がない限り、新しいファイルに書き込まないことを本当に望んでいます。これを行うライブラリクラスまたはメソッドはありますか? そうでない場合、これについて何か方法はありますか?

4

3 に答える 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

おそらく、コマンド ラインからwgetcurlなどの標準ユーティリティを実行して、サイト ツリーをローカル ディレクトリ ツリーにフェッチするなどの代替手段も検討する必要があります。次に、ローカル コピーを使用して (Java、Python などで) スキャンを実行します。エラー処理、引数の解析などの退屈なものをすべて自分で実装するよりも、それを行う方が簡単なはずです。

サイト内のすべてのページを取得したい場合、wget と curl は HTML ページからリンクを取得する方法を知りません。別の方法は、オープン ソースの Web クローラーを使用することです。

于 2009-12-03T06:25:36.680 に答える