SeleniumとPythonでツイッターアナリティクスのデータを自動でエクスポートする

宮本です。 Twitterはコチラ

はじめに

ツイッターのアナリティクスのデータを自動でエクスポートしてみました。

※APIあるかもしれませんが、それは追々。

仕様

  • ツイッターへ自動ログイン
  • ツイッターアナリティクス画面から自動でエクスポート(作業ディレクトリにエクスポート)

環境的なあれこれ

  • マシン:Mac
  • Python:2.7系
  • その他:Selenium、Google Chrome、ChormeDriverなど

実装

python:tweet_export.py

#!/usr/bin/
# -*- coding: utf-8 -*-

import os, time
import selenium.webdriver

url = 'https://analytics.twitter.com/user/{your account}/tweets'
DL = os.getcwd()
print('DL : ' + DL)

user_account = 'your account'
user_password = 'your password'

webdriver = selenium.webdriver
chop = webdriver.ChromeOptions()
prefs = {"download.default_directory" : DL}
chop.add_experimental_option("prefs", prefs)
chop.add_argument('--disable-gpu')
chop.add_argument('--no-sandbox')
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver', chrome_options = chop)
    
driver.implicitly_wait(15)
driver.get(url)

driver.implicitly_wait(15)
login_user = driver.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[1]/input')
login_pass = driver.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[2]/input')
login_user.send_keys(user_account)
login_pass.send_keys(user_password)

time.sleep(5)
login_pass.send_keys('\n')

time.sleep(5)
driver.get(url)

driver.implicitly_wait(15)
dl_path = driver.find_element_by_xpath('//*[@id="export"]/button/span[2]')
dl_path.click()
time.sleep(30)

driver.quit()

結果

こちらのコードだと特に指定していないので、実行日から過去28日間(デフォルト指定)のデータをエクスポートします。

インターバルとか結構適当なのでそこはよしなに変更したり、迷惑書けない程度で設定してください。

これを関数化などをすると業務でも利用できるかと思います。

ちなみにAPIがあるならそちらを利用して下さいね。これはあくまでプログラムのテストで実施したものです。