twitterのbotを作ってみたいなぁと思い色々調べてみました。
twitter APIを取得するのは面倒なのでseleniumによって自動ツイートすることを目指します。
参考サイト
方法
以下のようなスクリプトを書いて実行するだけ。
アカウントとパスワードは適宜自分のもので書き換えてください。
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
# アカウント情報
account = 'xxxxxxxxxxx'
password = 'xxxxxxxxxxx'
# ツイートしたい文字列
text = "テストツイート"
# Twitterログイン実行する処理
def login_twitter():
# ログインページを開く
driver.get('https://twitter.com/login/')
time.sleep(2) # 待ち
# account入力
element_account = driver.find_element_by_name("session[username_or_email]")
element_account.send_keys(account)
time.sleep(2) # 待ち
# パスワードを入力する
element_pass = driver.find_element_by_name("session[password]")
element_pass.send_keys(password)
time.sleep(3) # 動作止める
# ログインボタンクリック
element_login = driver.find_element_by_xpath('//*[@data-testid="LoginForm_Login_Button"]')
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
element_login.click()
time.sleep(3) # 待ち
def send_tweet(text):
element_text = driver.find_element_by_class_name("notranslate")
element_text.click()
element_text.send_keys(text)
tweet_button = driver.find_element_by_xpath('//*[@data-testid="tweetButtonInline"]')
tweet_button.click()
# seleniumを起動
options=Options()
driver=webdriver.Chrome(chrome_options = options)
# ログイン処理
login_twitter()
# ツイートする
send_tweet(text)
time.sleep(10)
# seleniumを終了
driver.close()
driver.quit()