自己投資としてチャレンジしている内容を Blog で公開しています。今回は Web のサイトの情報を取得する、スクレイピング方法について紹介します。
————————————
▼1. Selenium Web Driver の利用
————————————
オープンソースの selenium の WebDriver を利用し、Web サイト(HTML) から情報を抽出します。Selenium Web Driver は現在 Java, Ruby, Python, C#, JavaScript の言語に対応しています。
————————————
▼2. 事前準備
————————————
2-1. コンパイルに Maven を利用するため、Pom.xml に selenium の WebDriver の dependency を記載します。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>以下のアイコンをクリックし、Maven の変更をロードすると dependency で指定したライブラリーが自動でインストールされ利用可能になります。

2-2. 以下のような header を含む HTML を用意し、サイトにアップします。
<body> <div id="outer"> <div id="header"> <h1>kumomanのホームページのタイトル</h1> </div> <div id="main"> <div class="content"><h2>見出し1</h2> <p>内容</p> <h3>見出し2</h3> <p>内容</p> <h4>見出し3</h4> <p>内容</p> </div> </div>
2-3. 今回 Chrome の browser を利用するため、chromedriver をインストールし、パスを確認。
sudo apt-get install chromium-chromedriver
whereis chromedriver
(result)
Chromedriver: /usr/bin/chromedriver
2-4. Chrome のバージョンを最新にします。
sudo apt-get upgrade google-chrome-stable
————————————
▼3. Selenium Web Driverを利用し、HTML にあるタイトルを抽出するコード
————————————
3-1. 以下のコードで HTML の <div id=”header”> を見つけて、要素を取り出します。
(例)
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class webparse0210317e1 {
public static void main(String[] args){
// set the path of Chrome
System.setProperty("webdriver.chrome.driver","/usr/bin/chromedriver");
try{
// Start Chrome
WebDriver driver = new ChromeDriver();
// Set the used URL
driver.get("http://xxxx");
// Find an element
WebElement element = driver.findElement(By.id("header"));
// Print element
System.out.println(element.getText());
}catch (Exception e){
throw(e);
}
}
}3-2. 実行結果は以下となります。
(例)
—————————————-
Mar 20, 2021 10:00:00 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
kumomanのホームページのタイトル
—————————————-
————————————
▼4. 参考情報
————————————
(1) Downloads (selenium.dev)
(2) Selenium Maven Information
(3) Using chromedriver with selenium/python/ubuntu – Stack Overflow
(4) java – How can I select the div id using Selenium WebDriver? – Stack Overflow
以上です。参考になりましたら幸いです。