X



自動でレスしまくるツールの作成方法
■ このスレッドは過去ログ倉庫に格納されています
0001現場の名無し(帝国中央都市) (ヒッナー)2022/03/03(木) 16:37:42.26ID:qVZgC3nc00303
ここで説明するのはWindowsと「iMacros」を使う方法

javascriptを書くことになるが、「forループ」が理解できるレベルのプログラム知識があればあとはググればなんとかなる
自分が最初に作った時はそのレベルだった

これをどこのスレで使うのか。本スレか、オフスレか。それは貴方次第
0002現場の名無し(東京都) (ヒッナー)2022/03/03(木) 16:38:50.95ID:qVZgC3nc00303
■iMacros
ウェブブラウザをマクロで自動操作するFirefox拡張機能

■iMacros導入
古いバージョンのFirefoxとiMacrosでないと目当ての機能が使えない
ブラウザは古いバージョンのFirefoxの機能を継いで開発を続けてるものでも可能。Pale Moonとか

Pale Moonを使う方法
https://teilab.net/imacros-pale-moon/
過去VerのFirefoxを使う方法
https://teilab.net/imacros-setting/
0003現場の名無し(帝国中央都市) (ヒッナー)2022/03/03(木) 16:39:25.83ID:qVZgC3nc00303
■スクリプトを組む
ここからは解説するのは面倒臭いので質問があったら答えていくようにする

解説サイトを幾つか紹介
https://shinei-systems.co.jp/webcreate/ec/how-to-use-imacros
https://toolmania.info/post-7963/
https://www.koikikukan.com/archives/2014/06/24-013333.php
http://imacros-webauto.info/imacros/cooperation-imacros-and-javascript/

一応、作ることになる3つのファイルについて紹介しておく
・.iim
iMacrosを動かす命令が書かれたファイル
ブラウザのiMacrosのウィンドウから選択でき、実行すると書かれてある通りにiMacrosがブラウザを操作する
iMacrosの「Record」ボタンを押してからウェブページのどこかをクリックしたり入力したりといった操作をすると、その操作内容を再現する命令が「#Current.iim」ファイルに自動で記述されるので、これが命令文の理解の助けになる
なお、連投のような複雑なことをするなら、iMacrosウィンドウから直接実行するのは後述のjavascriptの方になる

・javascript
.iim同様にiMacrosから実行することができる
.iimはjavascriptからも起動でき、その際にjavascript側で指定した任意の値を渡すことができる
javascriptはウェブページの情報を解析することができるので、たとえばエラーページに飛ばされた時にその状況を判断して.iimに渡す値を指定したり、実行する処理を変えたりとかできる
window.document.getElementsByClassNameとかそういう系のメソッドでウェブページの情報を解析できる
分からなければググるか質問してね
ちなみにfirefoxはF12キー→コンソールから開いてるページ上でjavascriptのテストができる
ウェブページの構成要素を見るときはF12キー→インスペクター

・CSV
投稿するレスの内容など、前もって決めてる固定的な値はGoogle Spreadsheetやエクセルとかに記述してCSVファイルに出力しておくと管理がしやすい
CSVは.iimから読み込むことができる
絶対に使う必要があるわけではない
ウェブページから取得したデータを保存するのもCSVの主な使用用途の一つだが、連投においては多分使わない
0006現場の名無し(愛媛県) (ヒッナーW)2022/03/03(木) 20:25:45.88ID:0KgKLokq00303
指定したワッチョイの書き込みを検知したら
そのワッチョイのレス番に安価して書き込みたいです
0007現場の名無し(水都アリスタシア) (ヒッナー)2022/03/03(木) 21:25:08.79ID:+D1uaMQb00303
>>6
なるほど
それも可能
過去に似たようなものを作ることに成功したから間違いない

window.document.getElementsByClassName('thread')[0].querySelectorAll("div[data-id]")
で全てのレスを配列で取得できるからそしたら名前を調べて指定する名前を検知したらレス番を取得してアンカーレスを作ればいい
この説明を理解できるようになるにはまず普通に連投できるくらいにはiMacrosの理解を進める必要があるのだが・・・わからないことがあったら聞いてくれ
0009現場の名無し(水都アリスタシア) (ワッチョイ)2022/03/07(月) 07:35:26.96ID:/WgXYsSW0
>>2で紹介したPale Moonだが、最新版は目当てのiMacrosが使えない
なのでバージョン28.17.0以下にする必要がある
入手はこちら
https://pale-moon.jp.uptodown.com/windows/versions


あとユーザーエージェントを新しめのブラウザのものに偽装しないと書き込むときに「いい加減に新しいのにしましょ」エラーが出る
Pale Moon用ユーザーエージェント偽装アドオン
https://addons-legacy.palemoon.org/addon/pmplus/
このアドオンを導入したら
Pale MoonのTools→Permissionsで『Permissions Maneger』を開く
リストから目当ての5chの板のURLを選択する
「Override user agent」のフォームに書き換えたいユーザーエージェントを入力して「Save」

ユーザーエージェントはこのスレから拾ってこれる
https://nova.5ch.net/test/read.cgi/operatex/1645891922/
たとえば「Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36」とか
なお専ブラのユーザーエージェントを使うと高確率で「不正なPROXYを検出しました」といったエラーが出るのでウェブブラウザのを使おう
0010!ken6(東京都) (ワッチョイ)2022/03/13(日) 19:36:20.03ID:ifV8+7H70
進展が無さそうなので自分で昔作ったマクロを今でも動くように作り直してしまった
ダウンロードはこちら
https://www.dropbox.com/s/kb34ajljtv92q3o/rentou.zip?dl=1

iMacros導入までは >>2,9

ダウンロードして解凍して出てきたフォルダをiMacrosのフォルダに移動。
iMacrosフォルダは多分デフォだとDocumentsにある。
ちなみにブラウザのiMacrosウィンドウからManage→Settings→PathsでiMacrosフォルダの場所の変更可能。

解凍して出てきたフォルダの中にある「textNoAnker.csv」「textReply.csv」に投稿する文を記述する。
エクセルとかのcsvを編集できるアプリで編集する。
「textNoAnker.csv」がアンカー指定せずに投稿するときに使われる文で、「textReply.csv」がアンカー指定して投稿するときに使われる文。
1行ずつ順に投稿に使われていく。
なお後述の設定次第では、どちらか一方のCSVファイルだけをアンカー無指定・アンカー指定のどちらの投稿にも使うようにすることができる。

解凍して出てきたフォルダの中にある「run.js」の最初の方にマクロの動作の設定箇所があるので、テキストエディタで開いてそこを自分に合うように設定する。
解説はファイル内に書いてある。
iMacrosフォルダの位置の指定は必須。

設定が済んだらブラウザのiMacrosウィンドウを開いて「run.js」をダブルクリック。
出てきた入力フォームにスレのURLを入力すると連投が開始される。

わからないことや謎のエラーが出たりしたら質問してね。
0012現場の名無し(愛媛県) (ワッチョイW)2022/03/14(月) 11:50:18.83ID:P12WZgty0
基本情報の資格勉強してて手付けれてなかっです。連投ツールありがとうございます

JavaScriptは今後勉強したいと思ってたのでとても参考になります
時間できたら機能追加とかしてみたい。
0014現場の名無し(秋と紅葉の楼閣) (オーパイ)2022/03/14(月) 12:32:11.85ID:Ibll+wBP0Pi
>>13
バグ修正前のは残ってません

趣味独学なので参考にされるのは恥ずかしいが…

ところで設定の最後にある「skipPost」がもしtrueになってたらfalseにしておいてね
ここがtrueだと投稿しないので
昨日trueにしたままアップロードしていたのに気づいたのでさっきfalseに戻しておいた
0017現場の名無し(帝国中央都市) (ワッチョイ)2022/03/17(木) 21:16:33.92ID:kVOLjdeU0
>>10
特定のワードが含まれてる本文に反応してレスする機能を追加した

>>16
CSVを開いて編集できるなら多分なんでも
0018現場の名無し(情報都市ルディノイズ) (ワッチョイ)2022/03/19(土) 22:54:27.96ID:f8H+S1CT0
>>10
些細なものだがちょっとした不具合修正と機能変更
0019現場の名無し(神奈川県) (ワッチョイW)2022/03/20(日) 14:23:33.30ID:d44HWCw20
お前らしねや
ゴミともが
0020現場の名無し(神奈川県) (ワッチョイW)2022/03/20(日) 14:23:54.67ID:d44HWCw20
ゴミどもが
0022現場の名無し(光) (アウアウウー)2022/03/20(日) 16:52:14.98ID:J8akyK1ba
こういう荒らしを誘発させたやつも通報して行くとこまで行ったら処罰下るのかな
ツイッターのリンクとかもあるし
0023現場の名無し(神奈川県) (ワッチョイW)2022/03/20(日) 17:16:13.02ID:d44HWCw20
荒らしころせ!ころせ!
0024現場の名無し(神奈川県) (ワッチョイW)2022/03/21(月) 11:01:55.00ID:MuF7o7nZ0
荒らしやめろや
殺すぞ
0025現場の名無し(神奈川県) (ワッチョイ)2022/05/04(水) 17:39:08.02ID:9MvLhv+t0
>>10
SyntaxError: invalid property id, line NaN (Error code: -991)
というのが出てきてしまいます…
0026現場の名無し(香川県) (ワッチョイ)2022/05/09(月) 18:53:23.30ID:6jWuFcdB0
>>25
どの画面のときにエラーが出た?
投稿前に出たらCSVファイルが置かれてるディレクトリのパスの指定を間違えている可能性が高い

ディレクトリのパスの指定は「run.js」ファイルの最初の方にある"CSV_DIR"に記述

たとえばもし「C:\Users\Default」にCSVファイルを置いているなら
「C:\\Users\\Default」と記述ね
0029(茸)2022/05/19(木) 17:18:34.07
これって指定したレス毎にクッキー自動削除する機能ある?
0030現場の名無し(最果ての町) (ワッチョイ)2022/05/20(金) 13:36:01.24ID:aK1WtBPz0
>>29
無い
iMacorsにクッキー削除機能があるので実装しようと思えばできるが
しかし必要か?
0031(茸)2022/05/20(金) 22:18:36.93
連投規制がクッキー削除で回避できないならいらないかも。
0032現場の名無し(帝国中央都市) (ワッチョイ)2022/05/21(土) 09:12:21.51ID:+VtDKdou0
>>31
連投規制はクッキーじゃなくてIPを見てるよ
0033現場の名無し(神奈川県) (ワッチョイ)2022/05/24(火) 18:31:00.52ID:NDNGW7lP0
>>26
https://teilab.net/imacros-setting/
で配布されているfirefoxに内蔵されているimacrosをそのまま使っています
パスは
const CSV_DIR =
'C:\\Users\\USER\\Downloads\\FirefoxPortable\\FirefoxPortableESR\\Data\\profile\\Macros\\\Demo-Firefox\\rentou\\';
というように指定していました
解凍したときのrentouというフォルダ名のままそのフォルダにjsもcsvも入れてしまっていますが間違っているのでしょうか?
0034現場の名無し(蜃気楼の町エクスペリオ) (ワッチョイ)2022/05/24(火) 23:04:37.39ID:F3c46Lkb0
>>33
それならパスの記述は合ってるっぽいな
フォルダの名前も中身もそれでいい

どの画面のときにエラーが出た?マクロ実行と同時に出た?

違うマクロを実行してるかも?
ちゃんと「run.js」をダブルクリックしてる?

「run.js」の1行目に何かめちゃくちゃな文字を入力して保存してから「run.js」を実行して、エラーメッセージに変化があるかどうかも確認してほしい(その確認が終わったら元に戻してね)
0035現場の名無し(名も無き村) (ワッチョイW)2022/05/29(日) 00:15:38.41ID:rYyUQ+FC0
>>10
更新
マクロ開始時に5chをPCビューで見ているかモバイルビューで見ているかを尋ねるようにした
今どっちで見ているかの質問であり、選択した方を表示させるというわけではない

PCブラウザから5chをモバイルビューで表示させ書き込むには、「itest.5ch.net」と目当てのスレのURL(ここなら「fate.5ch.net」)の"2つの"ユーザーエージェントをモバイルのものに書き換える
ユーザーエージェント偽装については>>9

全てのPC用ブラウザが「余所でやってください」規制をされてる板でも、モバイルビュー+モバイル用ブラウザのユーザーエージェントだと、回避できる場合がある

>>9
今の最新のPale MoonならiMacrosを使用可能
0036現場の名無し(神奈川県) (ワッチョイ)2022/06/09(木) 15:12:19.70ID:IbGZLedd0
>>34
エラーが出るのは確かにrun.jsのダブルクリック時です
めちゃくちゃな文字を入力した場合もエラーメッセージに変化はありませんでした
ちなみにですが自宅のパソコン等常時つけていなくても、常時マクロを作動させるようなことができるおすすめのレンタルサーバーというかpaasみたいなものはありますか?
0037本ファ(神奈川県) (ワッチョイW)2022/06/09(木) 15:18:38.73ID:qLYt11e50
>>36
てめぇころすぞ
0038現場の名無し(名も無き村) (ワッチョイ)2022/06/09(木) 16:53:59.73ID:JR2lDCol0
>>36
そうなると原因はわからないなあ

最近iMacrosではなくGreasemonkeyで自動投稿できるスクリプトを作ってる
これなら全ての環境で最新ブラウザでも動くはず
でもいつ完成するかは未定です

レンタルサーバーからマクロを動かすというのは全く詳しくないからわからないが…高度なスクリプトならSSHやcronが使えるサーバーならできて、ブラウザの拡張機能を利用したマクロを動かすならMacinCloudみたいなレンタル仮想OSになるのかな?
0039本ファ(神奈川県) (ワッチョイW)2022/06/09(木) 17:38:48.11ID:qLYt11e50
>>38
しねしね
0041現場の名無し(神奈川県) (ワッチョイ)2022/06/13(月) 18:38:44.47ID:k6ZUeWaw0
>>38
そもそも古いfirefoxだと普通に書き込んでも「もう新しいのにしましょ」エラーが出ますね
なのでマクロも使えないということなんでしょうかね
0042現場の名無し(神奈川県) (ワッチョイ)2022/07/23(土) 18:16:26.47ID:wnhW8bpe0
pale moonも試してみましたがとにかくimacorsが使えるバージョンのブラウザはどうしても「もう新しいのにしましょ」のエラーが出て投稿自体できません
気が向いたらimacrosのプログラムのseleniumで使えるバージョンも作ってくださるとありがたいです
004341です(神奈川県) (ワッチョイ)2022/07/28(木) 17:42:59.02ID:eeRyHria0
UA偽装を忘れてたのでちゃんとやったらうまくいきました。すみません。
質問なのですが「自演かな?」という文句に対して「自演かな?」とオウム返ししたいとき
filterTextに「自演かな」などと登録しておくことになると思うのですが
この場合minAnkerの更新の仕方から考えると自分側のスクリプトで行った投稿に対して再度「自演かな?」と投稿する動作が延々とループすることになりませんか?
そのあたりが疑わしいので今は「自演かい?」と投稿するようにしてるのですがどうなのでしょう?
0044現場の名無し(旧都ファラム) (ニククエ)2022/07/29(金) 18:20:34.41ID:JMU9MSSV0NIKU
>>43
ループすることになっちゃうね
コテハンをつけて名前フィルターにそのコテハンを設定すれば自分のレスにレスすることは避けられるけど
0045現場の名無し(神奈川県) (ワッチョイ)2022/07/31(日) 14:37:42.46ID:l+J0WOuO0
>>44
id無しスレなんですよね
そこらへんjane styleみたいな専ブラは自分の書き込みと全く同じ内容が同時に書き込まれたとしても自分の書き込みを判定できてるのは不思議です
その判定アルゴリズムを組み込めば自分がした書き込みは除外するということが可能になりますからね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況