4
3

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.

はてなブログのstarを自動で押しまくる

Last updated at Posted at 2020-12-18

#はじめに
この記事は LOCAL students Advent Calendar 2020の19日の記事です。
よろしくおねがいします。
#まえおき
どうもこんにちは、今日から冬期休暇で毎週のレポートや辛い授業から開放されて喜びの舞を舞っているげんしです。
この時期は Advent Calendarが賑わっていて普段ブログを書かない人も書いたり書かなかったりする人が多くなると思います。

###この人の記事、、良い、、
先程言ったように、qiitaの記事やはてなブログの記事を見る機会がこの時期は増えると思います。そして人はブログを見ていく中で面白いブログやためになったブログにはLGTMや星をつけたりすると思います。

この星ですがなんと、はてなブログでは何度でも星をつけることができます!!!!

###星を無限につけていけ
すごくいい記事に出会ったとき、人は無限に星をつけたくなります。
ですが、無限に星をつけるには無限に星をクリックしないといけません。
これは少し面倒です。

#作ったもの
はてなブログで星を任意の数自動でつけるものを作りました。

以下実行環境

ソフト バージョン
python 3.9.0
pip 20.2.4
selenium 3.141.0
chromedriver-binary 87.0.4280.88.0

##Seleniumのインストール

$ pip3 install selenium

##Google Chromeをインストールしておいてください。
お願いします。

##Chrome Driverのインストール

$ pip3 install chromedriver-binary==あなたのchromeのバージョン

chromeの右上のメニュー/設定/chromeについて
から確認することができます。
僕の場合87.0.4280.88だったので
pip3 install chromedriver-binary==87.0.4280.88
でインストールしました。

#実際に無限に星をつけていく
スクレイピングする際にはてなブログにログインする必要があるので事前にユーザーネーム or メールアドレスとパスワードをkey.pyに入力しておきます。

key.py
EMAIL = "ご自身のはてなブログのメールアドレスかユーザー名を入れてください"
PASSWORD = "ご自身のはてなブログのパスワードを入れてください"
main.py
# coding:utf-8
from key import EMAIL,PASSWORD
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
import chromedriver_binary

url = input("starをつける記事のurlを入力 : ")
starNum = int(input("starをつける個数を入力 : "))
username = EMAIL
password = PASSWORD

driver = webdriver.Chrome()

#ログインページを開く
loginUrl= "https://www.hatena.ne.jp/login"
driver.get(loginUrl)

#ログイン
loginUserName = driver.find_element_by_xpath("//*[@id='login-name']")
loginUserName.send_keys(username)

loginPassword = driver.find_element_by_xpath("//*[@id='container']/div/form/div/div[2]/div/input")
loginPassword.send_keys(password)

submitButton = driver.find_element_by_class_name("submit-button")
submitButton.click()
sleep(5)

#入力されたはてなブログのページにとぶ
driver.get(url)
starButton = driver.find_element_by_class_name("hatena-star-add-button")

#入力された回数クリック
for i in range(starNum):
  starButton.click()

sleep(5)
driver.close()

###DEMO
実際にこのLOCAL学生部のAdvent Calendarの1日目の記事の北海道の技術系学生コミュニティ LOCAL学生部のご紹介を30個starをつけたいと思います。

プログラムを実行し、記事のurlとstarの数を入力すると
スクリーンショット 2020-12-16 22.21.32.png

ログイン画面が出たあと自動で入力、ログインをし、
スクリーンショット 2020-12-16 22.22.54.png

このようにちゃんと30starをつけてくれました。
スクリーンショット 2020-12-16 22.28.51.png

#まとめ
星をたくさんつけたい記事があるときにぜひ使ってください。
自動でつけたような心のこもってない星をつけるのは心が痛むという人はクリックを頑張ってください。

すごく単純で簡単なコードですが、Githubで公開しているのでurlを貼っておきます。
https://github.com/Genshi0916/auto-add-hatena-blog-star

#参考記事

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?