やりたいこと
- PythonからWordpressの投稿を行う
環境
- Cloud9
- Python3
- PhontomJS *
- Selenium *
導入は[Python データ分析入門マニュアル] > [スクレイピングをPythonでするときは、Cloud9・Selenium・Herokuで決まり!誰でもできるスクレイピングマニュアル]を参照してください。こちらにCloud9上でSelenium環境を作る方法などをすべてまとめています。
スクレイピングをPythonでするときは、Cloud9・Selenium・Herokuで決まり!誰でもできるスクレイピングマニュアル
https://review-of-my-life.blogspot.jp/2017/09/selenium-5-minutes-setup-on-cloud9.html
実装
- ワードプレスのログイン画面に移動
- IDとパスワードを入力
- 送信ボタンを入力
- 新規投稿画面に移動
- タイトルと内容を入力
- 下書き保存をクリック
スクリプト
wordpress.py
from selenium import webdriver #seleniumのimport
import time
browser = webdriver.PhantomJS()
loginURL = "http://yoursite.com/wp/wp-login.php" #yoursite.comにはあなたのサイトのアドレスを書いてください
browser.get(loginURL)
time.sleep(3)
print(browser.title) # "あなたのサイト名 ‹ ログイン"と表示される
#ログイン
username = "" #あなたのユーザー名を入れてください
password = "" #あなたのパスワードを入れてください
browser.find_element_by_css_selector("#user_login").send_keys(username)
browser.find_element_by_xpath("//*[@id='user_pass']").send_keys(password)
browser.find_element_by_css_selector("#wp-submit").click()
time.sleep(3) # waiting for sign in
print(browser.title) #"ダッシュボード ‹ あなたのサイト名 — WordPress"と表示される
#投稿(下書き)
browser.get("http://yoursite.com/wp/wp-admin/post-new.php")
time.sleep(3) # waiting for sign in
print(browser.title) #"新規投稿を追加 ‹ あなたのサイト名 — WordPress"と表示される
title = "Test"
content = "test post"
browser.find_element_by_css_selector("#title").send_keys(title)
browser.find_element_by_css_selector("#content_ifr").send_keys(content)
browser.find_element_by_css_selector("#save-post").click
time.sleep(3) #waiting for post
詳細
- 手順等は省略しているので、詳細は以下の記事を読んでください。