見出し画像

【自動化シリーズ1】Pythonによるブラウザ操作でのファイルアップロードの実現を検討中〜PythonとSelenium〜

前々から動画のアップロードなど、いつも同じ作業をしていてなんとか自動化したいと考えてます。で、そのための準備というか、実現可能性を検討してみました。

やりたいこと

いつもやっている以下の流れを自動がしたい:

* ニコニコ動画やYoutubeへの動画アップロード
* SlideShareへのスライド投稿
* note記事のひな形作成

考えてること

◆ ニコニコ動画へのアップロード
APIは公開されていないようなので、ブラウザを立ち上げて、ある場所においた動画ファイルを自動でアップロードする。

◆ Youtubeへのアップロード
アップロードAPIがあるのでそれで対応できそう

◆ SlideShareへのアップロード
アップロードAPIは廃止されている。
こちらもブラウザ立ち上げアップロードするしかなさそう

◆ note記事のひな形作成
上記ニコニコ動画やYoutube, SlideshareのURLが手に入れば…。アップロードしたタイミングでは取得できなさそうなので、やり方を考えないといけないような気がする。まぁ、これはおまけ要素のようなものです。

Seleniumを軽く触ってみた

Seleniumとかいうのを使えばブラウザ操作、アップロードができそうな気がする。

以下は、
(1) Chrome ブラウザを立ち上げて
(2) noteのサイトを開き
(3) 画面キャプチャ撮るもの

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

options = Options()
options.add_argument('--disable-gpu');
options.add_argument('--disable-extensions');
options.add_argument('--proxy-server="direct://"');
options.add_argument('--proxy-bypass-list=*');
options.add_argument('--start-maximized');

DRIVER_PATH = '/Users/XXXXXX/Selenium/chromedriver' 

# ブラウザの起動
driver = webdriver.Chrome(executable_path=DRIVER_PATH, chrome_options=options)

# Webページにアクセスする
url = 'https://note.com/'
driver.get(url)
screenshot_path = '/Users/XXXXXX/Selenium/test.png'
driver.save_screenshot(screenshot_path)

こんな感じで、確かにChromeブラウザをキャプチャ取れてました。

スクリーンショット 2021-02-26 22.12.54

参考サイト

これでアップロードできる?

アップロードできたら報告します。以上です。

この記事が参加している募集

最近の学び

活動費、テキスト購入費に充てたいと思います。宜しくお願い致します。