2023-01-13

増田削除アプリを作った

動機

趣味増田の削除です。

増田を全削除するのであればPower Automation DesktopSelenium IDEあたりでも使えば可能ですが、中にはブクマを集めた珠玉増田ブクマは付かなくても割と気に入ってる増田もあるので全削除はしたくありませんでした。

なので選択的に増田を削除するためのアプリ作りました

アプリ概要

Masuda Deleter

https://github.com/oribeolive/masuda-deleter/

Masuda DeleterはDockerコンテナ環境を作って動くのでDocker必要です。

M1 Mac動作していますWindows検証できるマシンが手元にないので動作未確認です。

インストールGitHubのREADMEに書かれたコマンドを実行すればできると思います

Masuda Deleterははてラボログインして指定されたページ分の自分増田投稿スクレイピングしてローカルDBに保存します。

取得された投稿リストブラウザで見られるので、そこで削除するものを選んで実行すると、またログインして投稿を削除しにいきます

ページのアクセスごとに読み込みと遠慮のために1秒から数秒sleepするので少し時間がかかります

一旦投稿ローカルに保存するという過程があるため副作用として自分投稿検索できます

これにより

が容易になります

増田にはAPIがないので、IDパスワードを使ってログインして、表示されている文章スクレイピングしてくるという原始的なやり方になります

(2回目からcookieがある場合cookie復元してログイン状態になります。)

ユーザーが知らない外部サイトにクレデンシャルを渡すのは危険であり、サービス運営側としてもパスワードを平文で持ちたくないので、Webサービスとして実装せずセルフサービスとしております

ユーザーによってローカルの.envファイルに書かれたIDパスワード使用する形です。

ソースオープンしておりますので怪しいことをしていないか確認ができるかと思います

機能

取込

ページ数を入れて取込ボタンを押すと投稿の取得が始まります

一応下にプログレスバーが出ますが、ページ遷移すると見られなくなります。進捗は進捗管理でも確認できます

取得された投稿リアルタイムで画面に反映されないのでブラウザリロードしてください。

検索

自分増田キーワードブクマ数やトラバ数で検索できます

キーワードは濁点を区別していません。

一覧

増田IDタイトル、本文の省略、投稿日時、ブクマ数、トラバ数が表示されます

ブクマ数やトラバ数でソートできます

あとで消す(選択削除)

「あとで消す」投稿をチェックし、「あとで消す」記事をついに消すボタンで削除を実行します。

チェックは別のページに遷移しても有効です。

「あとで消す」選択全解除ボタンで解除できます

削除を実行すると下にプログレスバーが出ます

こちらは実行した時点で表示されているページのみリアルタイムに画面に反映されます

リロードすれば現時点でのデータが見られます

詳細

投稿の全文を見られますタグ等は取得しないのでテキストのみになります

再読込

投稿個別に取得してローカル文章ブクマ数とトラバ数を更新します。

削除

投稿個別に削除しにいきます

Space Masuda

隠し機能デフォルトではOFF。

対象投稿タイトルを空に、本文をスペース1文字にしにいきます

進捗管理(Progresses)

処理の進捗(何件中何件処理済みか)を見ることと、処理を停止させることができます

排他処理(取込と取込、特定IDの削除と同じIDの削除等)にしているので動いていなそうな処理を停止して再度処理を実行するときに使います

停止する場合は停止ボタンを押すか、それでも停止しそうにない場合強制停止ボタンを押してください。

進捗一覧ではプログレスバーアニメーションはありません。

「停止」は今行っている最中の処理ではなく次以降の処理を停止するという形になります

停止ボタンを押したときに4ページ目を取得している場合は、5ページ目の取得を始める前に処理を終了することになります

そのためプロセスのものが止まっている場合は停止されません。

強制停止」はプロセスをkillします。スクリプト名とプロセスIDプロセス検索して子プロセスも含めてkillします。

グラフ

おまけとして、投稿日とブクマ数、投稿日と3ブクマ以上の投稿件数投稿時間(hour)ごとの1ブクマ以上の投稿件数グラフが見られます

ブクマが付いた瞬間ではなく投稿日時なので、いつの時期に投稿した、何時に投稿した増田が活きが良いのかを見られる程度です。

集計データ別に持っていないので増田を削除するとグラフ使用されるデータも消えます

その他

私はこれで多いときには4000件程度あった増田を3000件程度に減らしました。

これを開発する前からも増え続ける増田の削除に日々勤しんでいたので総数はもっと多いはず。

まだまだ削除したいです。

たまに

Message: unknown error: net::ERR_CONNECTION_CLOSED

というSeleniumエラーが出て処理が実行されないことがあります。再度実行してください。

今後

フロントエンドレガシーなのでMasuda Deleterの開発に飽きていなければもう少しモダンリプレースしようと思っています

使用していないDjango REST frameworkがrequirements.txtに入っているのはその名残です。

  • 勝手に削除されると、昔の記事を掘り返したときにレス先が消えてたりするとこっちが困るんだよ。 増田の記事は共有の文化財だという自覚を持て。

    • こっちが困るんだよ。 増田の記事は共有の文化財だという自覚を持て。 面白い意見だが通りがかりの表現の自由の戦士としては看過できない。 たどんな日記もみんなにとって価値が...

  • 俺なんか三万件ぐらいあったよこの間見たら 下品なものも多かったしパワーオートメートで消しちった  過去を振り返ってもしゃあない ブクマなんかいくらでも稼げるしね

  • 一応こんな増田があった。 https://anond.hatelabo.jp/20230113203108

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん