サイトをスクレイピングしRSSの出力を行うアプリケーション
概要
通称「DIY RSS」。
更新情報を取得したいがRSSが配信されていないようなサイトをスクレイピングし、RSSとして配信する。アプリケーションは次の2つに分かれる。
- サイトをスクレイピングしDBにデータを蓄積するバッチ処理
- リクエストに従って対象サイトのRSSを出力する処理
また「水曜どうでしょうD陣日記アーカイブ」についてのみ、以下の機能が追加される。
- 取得したデータを元にWordPress記事を更新する
基本設計
バッチスクリプト
- 対象サイトをスクレイピングする
- 本文、執筆者、日付などを取得する
- データベースに保存する
RSS出力アプリケーション
全サイト共通
- データベースからデータを読み込む
- RSS形式で出力する
WordPress更新アプリケーション
1時間に1回程度の実行
- 対象サイトのデータをデータベースから読み込む
- 最新の記事がテーブル「dr_entry_posted」になければWordPress上の対象のブログに記事を作成する
対象サイト
2019/07/23 現在
- 水曜どうでしょう 本日の日記(https://www.htb.co.jp/suidou/)
- CUE DIARY / CREATIVE OFFICE CUE(cue_diary https://www.office-cue.com/diary/)
- ディルバート(https://www.itmedia.co.jp/keywords/dilbert.html)
- ニコニコインフォ‐メンテナンス・障害・復旧の記事一覧(https://blog.nicovideo.jp/niconews/ge_maintenance/)
- ニコニコインフォ‐機能・お知らせの記事一覧(https://blog.nicovideo.jp/niconews/category/ge_function/)
- リビング京都 今日のもう一品(https://www.kyotoliving.co.jp/index.html)
実装
スクレイピング
Goutteを利用してスクレイピング。サイトごとに処理を書く必要がある。
RSS出力
Laravelium/Feedを利用して出力。フォーマットが統一され、必要最低限の情報だけを出力することが出来る。