サイトをスクレイピングしRSSの出力を行うアプリケーション

2019年7月23日 (火) 09:21時点におけるIppei Suzuki (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要

通称「DIY RSS」。

更新情報を取得したいがRSSが配信されていないようなサイトをスクレイピングし、RSSとして配信する。アプリケーションは次の2つに分かれる。

  1. サイトをスクレイピングしDBにデータを蓄積するバッチ処理
  2. リクエストに従って対象サイトのRSSを出力する処理

また「水曜どうでしょうD陣日記アーカイブ」についてのみ、以下の機能が追加される。

  1. 取得したデータを元にWordPress記事を更新する


基本設計

バッチスクリプト

  1. 対象サイトをスクレイピングする
  2. 本文、執筆者、日付などを取得する
  3. データベースに保存する

RSS出力アプリケーション

全サイト共通

  1. データベースからデータを読み込む
  2. RSS形式で出力する

WordPress更新アプリケーション

1時間に1回程度の実行

  1. 対象サイトのデータをデータベースから読み込む
  2. 最新の記事がテーブル「dr_entry_posted」になければWordPress上の対象のブログに記事を作成する


対象サイト

2019/07/23 現在

  1. 水曜どうでしょう 本日の日記(https://www.htb.co.jp/suidou/)
  2. CUE DIARY / CREATIVE OFFICE CUE(cue_diary https://www.office-cue.com/diary/)
  3. ディルバート(https://www.itmedia.co.jp/keywords/dilbert.html)
  4. ニコニコインフォ‐メンテナンス・障害・復旧の記事一覧(https://blog.nicovideo.jp/niconews/ge_maintenance/)
  5. ニコニコインフォ‐機能・お知らせの記事一覧(https://blog.nicovideo.jp/niconews/category/ge_function/)
  6. リビング京都 今日のもう一品(https://www.kyotoliving.co.jp/index.html)


実装

スクレイピング

Goutteを利用してスクレイピング。サイトごとに処理を書く必要がある。

RSS出力

Laravelium/Feedを利用して出力。フォーマットが統一され、必要最低限の情報だけを出力することが出来る。