ブログ村巡回の自動化(Eclipse2024,Selenium,chromedriver,java)
前提
OS:WINDOWS11 HOME
IDEの想定バージョン:Eclipse2024(pleiades)
javaの想定バージョン:jdk17 jre17
chromedriver.exe 123.0.6312.105
Google Chrome Version 123.0.6312.106 (Official Build) (64-bit)
大事なこと
chromeとchrome driverは同じバージョンを使うこと
ここではv123とする
前提:
OS:WINDOWS11 HOME
IDEの想定バージョン:Eclipse2024(pleiades)
javaの想定バージョン:jdk17 jre17
chromedriver.exe 123.0.6312.105
Google Chrome Version 123.0.6312.106 (Official Build) (64-bit)
■JDK17 JRE17を入手しインストールします。
JDK17
https://www.oracle.com/jp/java/technologies/downloads/#java17
JRE17は次の手順でC:\pleiades\2024-03\javaに含まれると思います。
■Eclipse(pleadeas)を javaに印がついているもの入手+インストール
https://willbrains.jp/index.html#/pleiades_distros2024.html
※デフォルトだとC:\pleiades\2024-03\eclipseにインストールされます。
■Eclipseプロジェクトを作成・設定
ファイル>新規>プロジェクト>JAVAプロジェクトで新規プロジェクト作ります
※私はpatrolと名前を付けました
■Eclipseにてコンパイラーの設定
プロジェクト名>右クリック>プロパティー>Javaコンパイラー>ワークスペース設定の構成...>コンパイラー準拠レベル17
■Eclipseプロジェクトで必要なフォルダを構成
プロジェクト直下にexeとlibがなかったら手動でフォルダを用意してください。
srcにはMain.javaを用意
■chromedriver.exe を入手 最新のものが良い
https://googlechromelabs.github.io/chrome-for-testing/#stable
※zipへのURLをブラウザでたたいて解凍するとchromedriver.exeなど実行ファイルがあると思います。
※実行ファイルをEclipseプロジェクトのexeフォルダに配置しておいてください。
※私は以下を利用しました。
https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.105/win64/chromedriver-win64.zip
■Chrome Driverと同じversionのGoogle Chromeをインストールする
https://google-chrome.jp.uptodown.com/windows/versions
なるべく新しいモノでversionを揃えましょう。
■seleniumをダウンロード javaのリンクからダウンロード+解凍
https://selenium.dev/downloads/
seleniumを解凍したらEclipseプロジェクトにlibフォルダを作ってjarを配置しましょう。
配置したらEclipseプロジェクトをリロードし
プロジェクト名から右クリック>プロパティー>ライブラリからJARの追加で
libにあるもjarを全部選択し使えるようにします。
■サンプルソースMain.java
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Scanner;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class Main {
public static void main(String[] args) throws InterruptedException, IOException {
String email = readFromFile(Paths.get("email.txt").toString());
String password = readFromFile(Paths.get("password.txt").toString());
String url = readFromFile(Paths.get("url.txt").toString());
System.setProperty("webdriver.chrome.driver", "./exe/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://mypage.blogmura.com/");
login(driver, email, password);
driver.get(url);
Thread.sleep(2000);
driver.quit();
}
private static String readFromFile(String path) throws IOException {
try (Scanner scanner = new Scanner(new File(path))) {
return scanner.nextLine();
}
}
private static void login(WebDriver driver, String email, String password) {
WebElement emailBox = driver.findElement(By.name("email"));
WebElement passwordBox = driver.findElement(By.name("password"));
WebElement loginButton = driver.findElement(By.className("re-button-submit-small"));
emailBox.sendKeys(email);
passwordBox.sendKeys(password);
loginButton.click();
}
}
■サンプルソースの説明
プロジェクト直下に3つのファイルを用意して読み込む想定になってます。
email.txt
ブログ村のemail
password.txt
ブログ村アカウントのパスワード
url.txt
ブログら村で巡回したいURLここはコツがありまして
ブログ村のプロフィールを見に行くと新着で自分の記事のURLが表示されます。
そこを右クリックURLをコピーしてこのテキストにはるわけです。
<例>こんな感じのURLになると思います。
https://link.blogmura.com/out/?ch=YOURCHANNEL&item=YOURITEM&url=https%3A%2F%2FYOURPAGE.html
■あとはAPIを見て何とかする グッドラック
https://www.selenium.dev/selenium/docs/api/java/index.html
この記事が気に入ったらサポートをしてみませんか?