この記事の例では、Java での単純な Web ページのクローリングの実装方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
背景の紹介
TCP の概要
1 tcp はネットワーク内でのポイントツーポイント伝送を実現します
2 送信はポートとソケットを介して行われます
ポートはさまざまなタイプの送信を提供します (たとえば、http ポートは 80)。
1) ソケットを特定のポートにバインドし、送信機能を提供できます。
2) 1 つのポートで複数のソケットに接続可能
2. URLの紹介
URL は、インターネットから取得できるリソースの場所とアクセス方法を簡潔に表現したもので、インターネット上の標準リソースのアドレスです。
インターネット上のすべてのファイルには固有の URL があり、この URL には、ファイルの場所とブラウザがファイルに対して何を行うべきかを示す情報が含まれています。
要約すると、Web ページのコンテンツをクロールしたいのは、基本的に URL を通じて Web ページのコンテンツをクロールすることです。
Java には次の 2 つのメソッドが用意されています。
1 つは、URL から Web ページを直接読み取る方法です。
1 つは、URLConnection を通じて Web ページを読み取ることです。
このうち URLConnection は http を核としたクラスで、http に接続するための機能を多数提供しています。
この記事では、URLConnection に基づいたコード例を示します。
その前に、URL に関する例外を見てみましょう。 Java 例外メカニズムがわからない場合は、以前のブログ投稿を参照してください。
URL の構築時に例外 MalformedURLException が発生します: URL 文字列が空であるか、認識できないプロトコルです
URLConnection 確立時の例外 IOException の条件: openConnection が失敗しました。コードは openConnection 中にまだリモートに接続していませんが、リモートへの接続を準備しているだけであることに注意してください。
要約すると、最終的なコードは次のようになります。
次のようにコードをコピーします。
インポート java.io.IOException;
インポートjava.io.InputStreamReader;
java.net.HttpURLConnectionをインポートします。
インポート java.net.MalformedURLException;
java.net.URLをインポートします。
java.net.URLConnectionをインポートします。
パブリック クラス SimpleNetSpider {
public static void main(String[] args) {
試す{
URL u = 新しい URL("http://docs.oracle.com/javase/tutorial/networking/urls/");
URLConnection 接続 = u.openConnection();
HttpURLConnection htCon = (HttpURLConnection) 接続;
int コード = htCon.getResponseCode();
if (コード == HttpURLConnection.HTTP_OK)
{
System.out.println("Web サイトを見つける");
BufferedReader in=new BufferedReader(new InputStreamReader(htCon.getInputStream()));
文字列入力行;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
それ以外
{
System.out.println("Web サイトにアクセスできません");
}
}
catch(MalformedURLException e)
{
System.out.println("間違った URL");
}
catch(IOException e)
{
System.out.println("接続できません");
}
}
}
この記事が皆さんの Java プログラミングに役立つことを願っています。