2
1

More than 3 years have passed since last update.

RPAのムダ使い Python+SeleniumでアイドルのSHOWROOM 50カウントを自動化

Last updated at Posted at 2020-05-05

まえがき

動画ライブ配信、視聴が無料で行えるSHOWROOMというサイトがある。SHOWROOMでは、日々、アイドル/タレント/お笑い/声優からアマチュアの方まで配信を行っている。SHOWROOMでは、視聴者がコメントしたり、無料もしくは有料のアイテムを配信中に投稿すると、配信者へポイントとして還元される。その還元ポイントの中でもカウントという仕組みがある。視聴者はコメントを投稿する代わりに1から50までの数字をコメント欄に入れて送信すると、コメントしたのと同じポイントが配信者に送付される。筆者も日々、好きなアイドルのSHOWROOMを見に行って、この50カウントを行っているのですが、これが面倒くさい。そこで、このSHOWROOMの50カウントをRPAを使って自動化する事を考えてみた。

事前準備

自動化には、PythonとSeleniumを使って行って、Windows10とChromeの環境を使う。まず、Pythonをインストールした後、pipを使って、Seleniumを準備する。
pip-selenium.jpg
続いてChromのWebDriverをダウンロードして適当なフォルダに展開する。

開発

SHOWROOMのコメントを送信するHTMLのソースは下記のようになっている。

SHOWROOMコメント送信ソース
 <div id="js-room-comment-wrapper" class="comment-form l-comment-form" >
    <form id="js-room-comment">
      <select id="js-comment-input-fixed" class="comment-input-fixed hidden mb-b"></select>
      <input type="text" class="comment-input-text" id="js-chat-input-comment" placeholder="コメントを投稿" autocomplete="off">
      <button type="submit" class="js-room-comment-btn comment-btn">
        送信
      </button>
    </form>
  </div>

ここで、class:comment-input-textのテキストボックスに、1~50の数字を入れてclass:comment-btnのボタンを押す所を自動化する。

countshowroom.py
from selenium import webdriver
import time

def cntshowroom():
    driver = webdriver.Chrome("chromedriver.exe")
    driver.get("https://www.showroom-live.com/")

    var = input("Login and Open target Room. After that input any key.:")

    elem_comment_text = driver.find_element_by_class_name("comment-input-text")
    elem_comment_send = driver.find_element_by_class_name("comment-btn")

    for i in range(1,50):
        elem_comment_text.send_keys(i)
        while True:
           time.sleep(1)
           elem_comment_send.click()
           vv = elem_comment_text.get_attribute("value")
           if vv=="":
               break
        print(i)

    print "50 count finish"

cntshowroom();

SHOWROOMのURLを起動して後、ログインと目的の配信者のルームに入る所は、利用者で行う。その間、inputで待機し、何らの文字が入力されると、50カウントを開始する。カウントが完了すると"50 count finish"と表示する。実行中の画面例が下記となる。
showrrom-screenshot.jpg

まとめ

Pytho+Seleniumを使って、SHOWROOMの50カウントを自動化するRPAを試してみた。本来の業務効率化の使われ方とは、異なるかもしれないが、同じ嗜好のエンジニアの方、Seleniumで本当の業務効率化を目指している方の一助になれば幸い。
今後は、ログインの自動化、星投げ、星集めについても自動化を目指す。

2
1
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
2
1