ホームページ  >  記事  >  Java  >  徹底した実践: 実践可能な主要な Java クローラー テクノロジーと経験の共有

徹底した実践: 実践可能な主要な Java クローラー テクノロジーと経験の共有

WBOY
WBOYオリジナル
2023-12-26 15:27:381110ブラウズ

徹底した実践: 実践可能な主要な Java クローラー テクノロジーと経験の共有

Java クローラーの実践: 学んだことを応用するための主要なテクノロジーと経験の共有

はじめに: インターネットの急速な発展に伴い、クローラー テクノロジーが鍵となってきました。情報収集やデータ分析に重要なツール。この記事では、Java クローラーの主要なテクノロジーと経験の共有を紹介し、読者がクローラー テクノロジーをよりよく習得して適用できるように、具体的なコード例を示します。

1. クローラーの基本概念と原理

クローラーは、ネットワーク データを自動的に取得して分析できるプログラムであり、人間のブラウジング動作をシミュレートし、Web ページにアクセスし、そのデータを解析します。 . .基本原理は、HTTP リクエストを送信し、サーバーから返された HTML データを取得し、パーサーを使用して必要な情報を抽出することです。

2. クローラーの主要なテクノロジーとエクスペリエンスの共有

  1. HTTP リクエストとレスポンス

クローラーは、まず HTTP リクエストを送信して、 WebページのHTMLデータです。 Java を使用すると、HttpURLConnection や HttpClient などのツール クラスを通じて GET または POST リクエストを送信し、サーバーから返される応答データを取得できます。以下は、HttpURLConnection を使用して GET リクエストを送信する例です。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Spider {
    public static void main(String[] args) throws IOException {
        String url = "https://www.example.com";
        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
        connection.setRequestMethod("GET");
        connection.setConnectTimeout(5000);
        connection.setReadTimeout(5000);
        
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        
        reader.close();
        connection.disconnect();
        
        System.out.println(response.toString());
    }
}
  1. HTML パーサー

HTML パーサーは、Web ページの HTML データを解析するために使用され、必要な情報を抽出します。 Java で一般的に使用される HTML 解析ライブラリには、jsoup、HtmlUnit などが含まれます。次に、jsoup を使用して HTML データを解析する例を示します。

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Spider {
    public static void main(String[] args) throws IOException {
        String url = "https://www.example.com";
        Document document = Jsoup.connect(url).get();
        
        Elements elements = document.select(".class-name");
        for (Element element : elements) {
            String content = element.text();
            System.out.println(content);
        }
    }
}
  1. データ ストレージ

クローラによって取得されたデータは、通常、保存して分析する必要があります。 Java では、データベース (MySQL、MongoDB など)、ファイル (Excel、CSV など)、またはメモリ (リスト、マップなど) を使用してデータを保存できます。以下は MySQL データベースにデータを保存する例です:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Spider {
    public static void main(String[] args) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "username", "password");
        PreparedStatement statement = connection.prepareStatement("INSERT INTO table_name (column1, column2) VALUES (?, ?)");
        
        // 假设从网页中获取到的数据存储在dataList中
        for (Data data : dataList) {
            statement.setString(1, data.getField1());
            statement.setString(2, data.getField2());
            statement.executeUpdate();
        }
        
        statement.close();
        connection.close();
    }
}

3. 概要

クローラー技術を学び、応用することで、インターネット上のさまざまなデータを簡単に取得し、さらなる分析や分析を行うことができます。応用。この記事では、HTTP リクエストとレスポンス、HTML パーサー、データ ストレージの知識など、Java クローラーの主要なテクノロジーと経験の共有について紹介します。この記事を読んで、読者がクローラー テクノロジーをよりよく習得し、応用して自分のニーズを実現できることを願っています。

以上が徹底した実践: 実践可能な主要な Java クローラー テクノロジーと経験の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。