Java API 開発における Web スクレイピングに HtmlUnit を使用する
Web スクレイピングは、現代のインターネット アプリケーション設計で一般的に使用されるテクノロジであり、多くの Web サイト データ分析およびマイニングにとって重要なツールでもあります。 Java API 開発では、HtmlUnit ライブラリを使用して Web スクレイピング タスクを簡単に完了できます。
HtmlUnit は Java で書かれたインターフェースのないブラウザで、ブラウザの動作をシミュレートし、ユーザーのように Web ページにアクセスし、ページのコンテンツを取得できます。同時に、HtmlUnit は JavaScript のサポートも提供します。これにより、ページ上でスクリプトを実行し、より複雑な操作を実行できます。
この記事では、HtmlUnit をインストールして設定するところから、Web スクレイピングに HtmlUnit を使用する方法を紹介します。次に、HtmlUnit を使用して Web サイトにアクセスし、ページのコンテンツを取得する方法を示します。最後に、HtmlUnit を使用して Web アプリケーションをテストする方法を見ていきます。
HtmlUnit のインストールと構成
HtmlUnit を使用するには、まず Java プロジェクトに追加する必要があります。 HtmlUnit は Maven 統合依存関係ライブラリから取得できます。pom.xml に次の依存関係を追加するだけです:
<dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>2.50</version> </dependency>
コードでは、HtmlUnit の関連クラスをインポートする必要があります:
import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlPage;
Web サイトにアクセスしてページのコンテンツを取得します
#HtmlUnit を使用すると、Web サイトに簡単にアクセスしてページのコンテンツを取得できます。次のコード スニペットは、HtmlUnit を使用して baidu.com にアクセスし、ページのタイトルを取得する方法を示しています。try (WebClient webClient = new WebClient()) { HtmlPage page = webClient.getPage("http://www.baidu.com"); String title = page.getTitleText(); System.out.println(title); }
try (WebClient webClient = new WebClient()) { HtmlPage page = webClient.getPage("http://www.baidu.com"); String content = page.asXml(); System.out.println(content); }
try (WebClient webClient = new WebClient()) { String script = "var x = 1 + 1; x;"; Object result = webClient.executeJavaScript(script).getJavaScriptResult(); System.out.println(result); }
try (WebClient webClient = new WebClient()) { HtmlPage page = webClient.getPage("http://localhost:8080/login"); HtmlForm form = page.getForms().get(0); form.getInputByName("username").setValueAttribute("admin"); form.getInputByName("password").setValueAttribute("password"); HtmlButton submitButton = form.getButtonByName("submit"); HtmlPage resultPage = submitButton.click(); assertEquals("http://localhost:8080/home", resultPage.getUrl().toString()); }
以上がJava API開発におけるWebスクレイピングのためのHtmlUnitの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。