3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Livedoorブログの記事更新をPythonとseleniumで自動化してみた。

Last updated at Posted at 2019-12-22

皆さん、こんにちは。中川です。かなり久しぶりの投稿です。普段は会社でJavaを使った業務用のWebアプリケーションを作っていますが、一般生活ではPythonでスクレイピングをしていることが多いです。特にブログの自動更新やsnsなどの自動フォローなどにはまっています。そこで今回、Pythonとseleniumを使って簡単なブログ更新を行ってみました。

環境

Python 3.7.0 selenium 78

コード

```python:qiita.py from selenium import webdriver from time import sleep from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import By from selenium.common.exceptions import TimeoutException

class LivedoorAuto:
def init(self):
options = webdriver.ChromeOptions()
   #chrome://version プロフィールパスを参照
options.add_argument("")
#executable_pathには、chromedriverのパスを記入
self.bot = webdriver.Chrome(executable_path="", chrome_options=options)

def livedoor(self):
	bot = self.bot
    #ブログ投稿ページのurl
	bot.get("")
            
	wait = WebDriverWait(bot,60)
	entry_title = wait.until(expected_conditions.visibility_of_element_located((By.ID,"entry_title")))

	entry_title.send_keys("Hello")

	while True:
		try:
			entry_body = wait.until(expected_conditions.visibility_of_element_located((By.ID,"editor_1_f")))
			entry_body.send_keys("Hello Everyone")
			break
		except TimeoutException:
			print("timeout")
			continue
	
	sleep(2)
	bot.find_element_by_class_name("quickSocialMessage").send_keys("Hello")

ed = LivedoorAuto()
ed.livedoor()

タイトルをhello、記事内容にHello Everyoneという文字を記入するようなコードです。

最初にurlにアクセスする際に、ログインページに飛ばされますが、何度もログインを繰り返すとスパム扱いされることがあるため、最初からログイン情報をセッションに保持するようにしています。
seleniumで、ログイン情報を保持する方法は、以下のページに詳しく説明されています。
<a href="https://rabbitfoot.xyz/selenium-chrome-profile/">Seleniumで次の実行時にもサイトのログイン状態を維持したい場合</a>

あまり難しくはないのですが、案外ネットでこのような情報が少なかったので、書いてみました。何かの参考になると幸いです。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?