Last active
July 1, 2017 11:15
-
-
Save taikomegane/7e9ecbe5f7f1d6ec280d8a2cf016855e to your computer and use it in GitHub Desktop.
getTweet_var.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.BufferedWriter; | |
import java.io.FileWriter; | |
import java.io.IOException; | |
import java.io.PrintWriter; | |
import java.util.ArrayList; | |
import java.util.List; | |
import org.openqa.selenium.By; | |
import org.openqa.selenium.WebDriver; | |
import org.openqa.selenium.WebElement; | |
import org.openqa.selenium.chrome.ChromeDriver; | |
public class GetTweet { | |
public static void main(String[] args) throws InterruptedException { | |
System.setProperty("webdriver.chrome.driver", "./driver/chromedriver"); | |
//ユーザIDとパスワードを指定 | |
String user = ""; | |
String pass = ""; | |
long millis = 5000; | |
//ドライバを生成 | |
WebDriver driver = new ChromeDriver(); | |
//Twitterにアクセス | |
String url = "https://twitter.com"; | |
driver.get(url); | |
Thread.sleep(millis); //ちょっと休憩 | |
//ユーザIDとパスワードを入力 | |
WebElement e = driver.findElement(By.id("signin-email")); | |
e.clear(); | |
e.sendKeys(user); //ユーザIDを入力 | |
e = driver.findElement(By.id("signin-password")); | |
e.clear(); | |
e.sendKeys(pass); //パスワードを入力 | |
Thread.sleep(millis); //ちょっと休憩 | |
//ログインボタンをクリック | |
e = driver.findElement(By.xpath("//*[@id='front-container']/div[2]/div[2]/form/table/tbody/tr/td[2]/button")); | |
e.click(); | |
Thread.sleep(millis); //ちょっと休憩 | |
//マイページに移動 | |
e = driver.findElement(By.cssSelector(".DashboardProfileCard-bg")); | |
e.click(); | |
Thread.sleep(millis); //ちょっと休憩 | |
//ツイート情報を取得 | |
List<WebElement> tweetsElements = driver.findElements(By.cssSelector(".tweet-text")); | |
//csv出力用のリストを生成 | |
ArrayList<String> tweets = new ArrayList<String>(); | |
//ツイート情報から、テキストだけ取り出してコンソール出力 | |
for (WebElement t : tweetsElements){ | |
String tweet = t.getText(); | |
tweets.add(tweet); //リストにも追加しておく | |
System.out.println(tweet); | |
} | |
try { | |
//出力先を作成する | |
FileWriter fw = new FileWriter("./output/test.csv", false); //※1 | |
PrintWriter pw = new PrintWriter(new BufferedWriter(fw)); | |
//csvの頭作成 | |
pw.print("tweet\n"); | |
//内容を指定する | |
for(String tweet: tweets){ | |
pw.print(tweet); | |
pw.println(); | |
} | |
//ファイルに書き出す | |
pw.close(); | |
//終了メッセージを画面に出力する | |
System.out.println("出力が完了しました。"); | |
} catch (IOException ex) { | |
ex.printStackTrace(); | |
} | |
//ブラウザを閉じる | |
driver.close(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment