今回のは完全に趣味の領域ですが、seleniumを利用して、twitterに自動投稿をする機能を作ってみました。
準備するもの
- pip環境
- selenium(pipにinstall)
- python3
python/seleniumで実装すること
- Twitter accountにログイン
- 指定したテキストを投稿
- cronを使って自動化(2020/01 追記記事をご参照ください)
ゴールのTweet

実際に実行した結果、ログインして、tweetができました。
実際のコード
import time, sys
from selenium import webdriver as wd
from selenium.webdriver.common.keys import Keys
from requests import request as rq
from selenium.webdriver import Chrome, ChromeOptions
import chromedriver_binary
options = ChromeOptions()
#options.add_argument('-headless')
driver = wd.Chrome()
url = "https://twitter.com/"
driver.get(url)
driver.find_element_by_xpath('//*[@id="doc"]/div/div[1]/div[1]/div[2]/div[2]/div/a[2]').click()
time.sleep(3)
id = driver.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[1]/input')
id.send_keys("Twitterのアカウント名を入力")
password = driver.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[2]/input')
password.send_keys('Twitterのログインパスワードを入力')
driver.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/div[2]/button').click()
try:
time.sleep(2)
elem = driver.find_element_by_xpath('//*[@id="tweet-box-home-timeline"]')
elem.send_keys("投稿したい内容を入力:test from selenium")
print("input_done")
time.sleep(2)
elem.send_keys(Keys.CONTROL, Keys.ENTER)
except KeyboardInterrupt:
print("\nprogram was ended.\n")
sys.exit()
まとめ
正直Twitter APIを利用して実施することも可能ですが、少し久しぶりにseleniumを知り合いからのリクエストで利用したので、Twitterへの自動投稿機能を作ってみました。
これから、数回に渡ってハロワやクラウドワークスなどのサイトからスクレイピングして、ローカルファイル(exlsなどのオフィス含む)や自分宛のメールを送付するコードを紹介していきたいと思います。
追記:2020/01 launchedの設定について
launchedの設定関係について以下に記事にしていますので、ローカルでの自動化が必要な場合、そちらをご参照ください。