python/seleniumを使ってtwitterに自動投稿してみる

Python

今回のは完全に趣味の領域ですが、seleniumを利用して、twitterに自動投稿をする機能を作ってみました。

準備するもの

  • pip環境
  • selenium(pipにinstall)
  • python3

python/seleniuで実装すること

  1. Twitter accountにログイン
  2. 指定したテキストを投稿
  3. cronを使って自動化(次回以降の記事で説明予定)

ゴールの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などのオフィス含む)や自分宛のメールを送付するコードを紹介していきたいと思います。

Python
スポンサーリンク
シェアする
ks_Accountingをフォローする
経営管理deプログラミング

コメント