Yahoo Pipesでスクレイピングしてみた。思ったより大変だった。
- まずFetch Pageモジュールでデータを取り出す対象のページをとってくる。
切り出す部分の最初と最後を指定すると、その部分だけが返ってくるようになる(少しずつ実験しながら進めたほうが良い)。
区切りも指定すると、データがいくつかのitemに分けられる。
↓ - この状態ではすべてのデータがcontentという項目に割り当てられ、そのままではRSSとして使えない。RSSとして使うには、基本的にはtitle, description, linkの3つの項目を用意してあげなければならない。
ここではRenameモジュールを使ってcontentをlinkとdescriptionとにコピーしている。titleはdescriptionができたあとで作る。
↓ - Regexモジュールでdescriptionを作る。
だが、普通にやっても1行目しか見てくれないので「m」オプションをオンにする。スペースは\sのはずなのだが、いろんなものにマッチしてしまう。ここでは結果オーライで進めている。
何ヶ所もマッチするときは「g」オプション。
↓ - Filterモジュールで不要なデータを落とす
↓ - 先ほど使ったRegexモジュールで、今度はlinkを作る。
いまいちよくわからないながらも$1などを使えばURLを切り出すことができた。なかなか大変。
↓ - Renameモジュールでdescriptionをコピーしてtitleとする
↓ - Regexモジュールでtitleをがんがん削り、スリムにする
↓ - Outputモジュールでおしまい。