「サイトをスクレイピングしRSSの出力を行うアプリケーション」の版間の差分
ナビゲーションに移動
検索に移動
Ippei Suzuki (トーク | 投稿記録) 編集の要約なし |
Ippei Suzuki (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の6版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
通称「[[DIY RSS]]」。 | |||
更新情報を取得したいがRSSが配信されていないようなサイトをスクレイピングし、RSSとして配信する。アプリケーションは次の2つに分かれる。 | 更新情報を取得したいがRSSが配信されていないようなサイトをスクレイピングし、RSSとして配信する。アプリケーションは次の2つに分かれる。 | ||
| 7行目: | 7行目: | ||
# サイトをスクレイピングしDBにデータを蓄積するバッチ処理 | # サイトをスクレイピングしDBにデータを蓄積するバッチ処理 | ||
# リクエストに従って対象サイトのRSSを出力する処理 | # リクエストに従って対象サイトの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) | |||
2019年7月23日 (火) 09:21時点における最新版
概要
通称「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を利用して出力。フォーマットが統一され、必要最低限の情報だけを出力することが出来る。