2chまとめブログの自動投稿システムを作ってみた

2020年7月23日木曜日

Node.js Python アフィリエイト

t f B! P L


「まとめブログを自動化して楽に副収入を稼ぎたい」って考えたことのある人、それなりにいると思います(僕もそうです)。
そんな訳で最近までコツコツと作り続けていたのですが、それがようやく形になったので 成果の概要をご紹介したいと思います。

ネット上にも自動化ツールは存在する…けれど有料

自動化ツール自体はネット上で調べると簡単に見つかります。
ただしこれらは基本的に有料です。またWordPressでの運用を前提としているため、サーバー・ドメインの取得にもお金がかかってしまいます。
副業として成立するかも分からない段階での投資は極力抑えたい。
というわけで、勉強も兼ねて一から自作することにしました。

自動化ツールは意外と簡単に作れる

まとめ記事の自動作成にはWebスクレイピングの技術が必要です。
Webスクレイピングは色々な開発言語でライブラリが提供されており、比較的簡単に実装することができます。
特にPython は文法が簡単でなおかつ Beautiful Soup という強力なライブラリが提供されているのでお勧めです。

処理の流れ

処理の大まかな流れは以下の通りです。

  1. Webスクレイピングで2ch掲示板からスレッド内容を取得
  2. 取得したデータにソート/フィルター等の加工処理を行いまとめ記事を作成
  3. 作成したまとめ記事をブログにアップロード

1・2 の処理は上述の Python + Beautiful Soup を、3 の処理はWebブラウザの自動操作が必要なので JavaScript(Node.js) + Puppeteer の組み合わせを選択しました。
今回構築した環境では、これらの処理をRaspberry Pi 3(Raspbian)上で cron を使って定期実行するようにしています。

投稿先は無料ブログサービスでOK

Puppeteer を使えばWebブラウザ(Chromium)を自動操作できるので、基本的にどんなブログサービスでも記事の投稿が可能です。
今回は費用を抑えるため無料ブログ(ライブドアブログ)を使うことにしました。
無料ブログについては何でも構わないのですが、プログラムを使って記事を自動投稿するので利用規約でそういった操作が禁止されていないブログが無難だと思います。

運用状況

先月末から運用を開始して、今のところ1日500~1000PVを維持しています。
手動で行う作業は主に記事のチェックやアンテナサイトへの登録くらい。
ほぼ放置でこのアクセス数なので出だしとしては悪くないと思います。


今後の課題

自動化してみて見つかった問題点もいくつかあります。

  • ニューススレッド等で同じような話題の記事が作成されてしまう
  • スレッド内の荒らしコメントを拾ってしまう(文字数/キーワード等でフィルターしているが漏れることもある)
  • スレッド内の画像付き投稿の取得が難しい(プログラムでは内容の判断ができない)
  • アンテナサイトからスパム判定されてしまうことがある(これは仕方ないかも)

他にも細々としたものはありますがぱっと思いつくのはこんな感じでしょうか。
今後はこれらについても可能な限り対策を講じていくつもりです。
また進展があれば記事にしてみようと思います。


自己紹介

SESから工場へ転職 ⇒ その後SESへ出戻った底辺客先常駐エンジニアです。 主に組み込み、オープン系の現場で詳細設計~実装を担当しています。 使用言語:C/C++/C#/Java/JavaScript (Node.js)/Python etc..

QooQ