Created
July 1, 2017 08:32
-
-
Save taikomegane/d4cdf71701011c27e5eb42dbe9cce56d to your computer and use it in GitHub Desktop.
getTweet
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
from selenium import webdriver | |
import csv, codecs | |
# ユーザIDとパスワードを指定 今回は空白 | |
USER = "" | |
PASS = "" | |
# PhantomJSのドライバを得る | |
browser = webdriver.PhantomJS() | |
browser.implicitly_wait(3) #念のため3秒待機 | |
# Twitterにアクセス | |
url = "https://twitter.com/" | |
browser.get(url) | |
browser.save_screenshot("toppage.png") #証拠写真撮影 | |
#ログインボタンをクリック | |
e = browser.find_element_by_css_selector(".StreamsLogin") | |
e.click() | |
browser.implicitly_wait(10) #反映に時間がかかるので待つ | |
browser.save_screenshot("login.png") #証拠写真撮影 | |
# ユーザIDとパスワードを入力 | |
e = browser.find_element_by_css_selector(".email-input") | |
e.clear() | |
e.send_keys(USER) #ここでユーザIDを入力 | |
e = browser.find_element_by_css_selector("input[type=password]") | |
e.clear() | |
e.send_keys(PASS) #ここでパスワードを入力 | |
browser.implicitly_wait(5) #念のため5分待って | |
browser.save_screenshot("login_with_info.png") #証拠写真撮影 | |
#送信ボタンをクリック | |
e = browser.find_element_by_css_selector(".submit") | |
e.click() | |
browser.implicitly_wait(5) #念のため5分待って | |
browser.save_screenshot("success.png") #証拠写真撮影 | |
#マイページに移動 | |
e = browser.find_element_by_css_selector(".DashboardProfileCard-bg") | |
e.click() | |
browser.implicitly_wait(3) #念のため3秒待って | |
browser.save_screenshot("mypage.png") #証拠写真撮影 | |
# ツイートを抽出 | |
tweets = browser.find_elements_by_css_selector(".tweet-text") | |
#csvに読み込む用のリストを生成 | |
tweet_list = [] | |
# ツイートの出力 | |
for tweet in tweets: | |
t = tweet.text #ツイートのテキストを出力 | |
tweet_list.append(t) #リストに追加 | |
print(t) #ターミナルに出力 | |
# csvに入れまくる | |
with codecs.open("tweets.csv", "w", "utf-8") as fp: | |
writer = csv.writer(fp, delimiter=",", quotechar='"') | |
writer.writerow(["tweet"]) | |
for tweet in tweet_list: | |
writer.writerow([tweet]) | |
# ブラウザを終了 | |
browser.quit() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment