スナックelve 本店

バツイチ派遣40代女性の日記です

【悪用禁止】はてなスターを自動でつけよう!【自己責任】

f:id:elve:20210710112557p:plain

追記

みどりの小野 (id:yutoma233)さんで実験したらノードのパスが違ってたので直した。
ありがとwwwww小野さんwwwwwww
あとたまに付けるのミスるのでsleep(1)のほうが良いのかもしれない。

動機

anond.hatelabo.jp
ダメじゃない。
やろう!

結論

これはダメかもwwwwww

目的

好きなブクマカのページのスターを押しまくる
f:id:elve:20210710105622p:plain

結果

うざい。悪用しかできない(´;ω;`)
f:id:elve:20210710105053p:plain
f:id:elve:20210710105134p:plain

コード

https://b.hatena.ne.jp/はてなID/YYYYMMDDを指定した場合、最初の画面の指定日付のブクマにのみスターつけます。

import unittest, time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.action_chains import ActionChains

#はてなにログイン
driver = webdriver.Chrome("C:\Program Files (x86)\chromedriver_win32\chromedriver.exe")#各環境で変更する
driver.get("https://www.hatena.ne.jp/login")
elem_serach_lgname = driver.find_element_by_id("login-name")
elem_serach_lgname.send_keys("はてなID")
elem_serach_pss = driver.find_element_by_class_name("password")
elem_serach_pss.send_keys("パスワード")
elem_serach_btn = driver.find_element_by_class_name("submit-button")
elem_serach_btn.click()

#待ち過ぎかもしれない
time.sleep(3)

# 星何個
bkm =5

#ブクマカのページへ
driver.get("https://b.hatena.ne.jp/elve/20190707")
#elements_a = driver.find_elements_by_xpath('/html/body/div[3]/div/div[2]/div[3]/ul/li[@class="bookmark-item js-user-bookmark-item"]')#自分ブクマページに付ける時
elements_a = driver.find_elements_by_xpath('/html/body/div[3]/div/div[2]/div[2]/ul/li[@class="bookmark-item js-user-bookmark-item"]')#人のブクマページに付ける時

for elem2 in elements_a:
     try:
          btn = elem2.find_element_by_class_name("hatena-star-btn")
          btn.click()

          for num in range(bkm):
               actions = ActionChains(driver)
               actions.move_to_element_with_offset(btn,3,3)
               actions.click()
               actions.perform()
               time.sleep(0.5)#0.5→1のほうが良いかも
               print(num)

          driver.execute_script("arguments[0].scrollIntoView();", elem2)
     except:
          cud = btn.text
          print(cud)
          continue

失敗

import unittest, time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.action_chains import ActionChains

#はてなにログイン

driver = webdriver.Chrome("C:\Program Files (x86)\chromedriver_win32\chromedriver.exe")
driver.get("https://www.hatena.ne.jp/login")


elem_serach_lgname = driver.find_element_by_id("login-name")
elem_serach_lgname.send_keys("はてなID")
elem_serach_pss = driver.find_element_by_class_name("password")
elem_serach_pss.send_keys("パスワード")
elem_serach_btn = driver.find_element_by_class_name("submit-button")
elem_serach_btn.click()
time.sleep(3)

# 星何個
bkm =3

#ブクマカのページへ
driver.get("https://b.hatena.ne.jp/elve/20190710")
elements_a = driver.find_elements_by_xpath('/html/body/div[3]/div/div[2]/div[3]/ul/li[@class="bookmark-item js-user-bookmark-item"]')

for elem2 in elements_a:
     try:
          actions = ActionChains(driver)
          btn = elem2.find_element_by_class_name("hatena-star-btn")
          btn.click()

          actions.move_to_element_with_offset(btn,3,3)

          for num in range(bkm):
               actions.click()
               actions.perform()
               time.sleep(0.5)
               print(num)
           

     except:
          cud = btn.text
          print(cud)
          continue

これだとbkm=3で6スター。4で10スターついてしまった(;´∀`)

注意

ハテナ様から、私のブログのスター欄につきまして、注意して☆を使わなければ、今後は予告なくスター欄を停止するとの連絡

(臨時に)何時も感謝です。ponyoponyokunのブログのスター欄の事につきましてハテナ様から連絡を頂いた報告&IDコールが今も可能らしいのは?ですが、ハテナ様がハテナブログのIDコールを終了していたと御理解を感謝です - ponyoponyokunの日記

が来ることもあるから要注意!!