XR (VR/AR/MR) 情報をあつめてTwitterにポストするbotを作った

XR (VR/AR/MR) 情報をあつめてTwitterにポストするbotを作った 僕はTwitterで技術情報などをTweetしてくれるアカウントをフォローして空いた時間に流し見することで情報収集してるんですが、VRに関する情報を集めようとすると某社のアダルトVR動画の情報ばっかりヒットしてしまいます。 なので、アダルト系以外のXR情報サイトをスクレイピングし、定期的に記事のリンクをTweetするbotを作成しました。 XRNewsJP 収集した記事のURLを現在は10分毎にTweetしています。 (Herokuの無料枠内でやっているので、Tweet間隔は状況を見て調整予定) この記事では、このbotの概要について解説します。 システム仕様 XR情報サイトなどをスクレイピングするプログラム xr-news-scraping と、スクレイピングした記事をTwitterに投稿するプログラム xr-news-tweet-bot の2本構成となっています。 実際のソースコードは以下です。 Kazunori-Kimura/xr-news-scraping: XR (VR/AR/MR) に関するニュースを収集するスクリプト Kazunori-Kimura/xr-news-tweet-bot: XR-NewsJPのTwitterBot それぞれ Node.jsのCLIプログラムで、 Heroku 上で一定時間ごとに実行されています。 Heroku Redisは無料枠(Hobby Dev)では25MBしかメモリを使用できないので、記事情報はLISTに保持し RPUSH -> LPOP することで不必要な記事データが残らないようにしています。 スクレイピング cheerio-httpcli で対象ページをダウンロード ダウンロードしたページから記事リンクを抽出 タイトルとURLをHerokuのRedisに登録 同じURLを何個も登録しないように、RedisのSetにURLのハッシュ値を保持しておき、既に登録済みの記事は破棄しています。 TweetBot HerokuのRedisから記事データを取得 goo.gl でURLを短縮 1Tweetにタイトルと短縮URL, ハ...