st8i4のブログ

日々の日記からあれこれの仕組みなどを書き綴ります。

【Python】Seleniumを用いて5chに書き込んでみる

荒らしにとって最もうらやましいもの。
スクリプト
さて、今回はそんなスクリプトを作ってみたので紹介します。

#-*-coding:utf-8-*-
from selenium import webdriver
import chromedriver_binary
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common import keys
import time
from random import randrange as rr
option = Options()
chromever=rr(70,900)
option.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/'+str(chromever))
option.add_argument('--headless')
driver=webdriver.Chrome("c:/webdriver/chromedriver.exe",options=option)
words=['ここは各自で変更してください']
words_n=rr(0,len(words))
def kakiko(word):
    driver.find_element_by_name("MESSAGE").send_keys(word)
    driver.find_element_by_name("submit").click()

driver.get("ここに書き込みたいスレのURLを入力")
driver.get_cookies()
kakiko(words[words_n])
time.sleep(1)
driver.find_element_by_name("submit").click()
driver.close()

wordsというリストに複数の文章や単語を入れて、driver.getに書き込むスレのURLを入れたら準備完了です。
wordsに入れる単語は、できるだけ多いほうがいいです。3つほどだと、マルチポスト判定で規制されることもあります。
driver.getにいれるURLはスレのURL(***.5ch.net/test/read.cgi/***/***/)ですが、新着スレに書き込みたい場合はその板のトップページを設定しても動作します。ただし、その場合はIPスレに書き込んでしまうことがあるため十分注意してください。
また、このコードでは反復ができないため、何度も実行する必要があります。お好みで調整してみてください(面倒ならばVSCで実行ボタン連打でも可能)