ruby-rss

とりあえず標準であるrssっての使ってparseしてみる。
まぁゴミのように大量のデータが取れるんだけど、このままだとよく分からんので、手作業で分けてった。
つまり私がやろうとしてることに必要なのだけ取り出すと
  • RSS::Atom::Feed (そのサイトの情報)
    • title
    • author
    • link[2] (そのサイトにあるurl、配列形式、そのサイト自体のurl欲しいんだけど、順番が謎)
    • entry (記事、配列形式)
      • content (記事の中身body)
      • published (公開日時かな?)
      • title
      • updated (publishedだけでいいか)
      • author (配列形式、まぁ要らないといえば要らない)
      • link[4] (その記事のurl、配列形式、これも順番謎、titleが記事のtitleと一致してるかな)
かな。
とりあえず確認で
rss = RSS::Parser.parse(url)

p rss.title.content
p rss.authors[0].name.content
p rss.links[2].href

p rss.entries[1].title.content
p rss.entries[1].content.content
p rss.entries[1].updated.content
p rss.entries[1].published.content
p rss.entries[1].authors[0].name.content
p rss.entries[1].links[4].href

=> "名称未設定のブログ"
=> "iaia"
=> "http://iaiaie.blogspot.com/"

=> "github"
=> 割愛
=> 2015-11-19 23:27:42 +0900
=> 2015-11-19 23:27:00 +0900
=> "iaia"
=> "http://iaiaie.blogspot.com/2015/11/github.html"
こんな感じで取れるかな。まぁ普通にentriesはeachで回す。別にcontentってやらなくても.to_sでcontent部分を吐き出してくれるんだけど、htmlのタグがくっついてくるので辞めた。 まぁauthorとか要らんな。updatedも要らないかな。 記事のurlはtitleと一致してるものを取るように書いて、ってすれば良いかなぁ。

なんかsubtitleとかcategoryとか見えたんだけど、とりあえず無視無視で後で必要であれば戻る感じで。

ただ、自分ところのしか見てないのでこれが他でも通用するのか謎