前記事
一応シリーズ続き。今後も取得したデータ解析とかも続けて書いていく予定。(予定)
今回はYahoo!ニュースからRSSでデータ取得してニュースの見出しとリンクを出力するまでをやります。
$ python yahoo_news_rss.py
で、
Yahoo!ニュース・トピックス - トップ
http://dailynews.yahoo.co.jp/fc/world/nuclear_weapons/?id=6160968
NPT決裂 文書採択できず閉幕
http://dailynews.yahoo.co.jp/fc/domestic/injury_case/?id=6160975
家族ら切られ4人死傷 男逮捕
http://dailynews.yahoo.co.jp/fc/economy/coffee_chain/?id=6160962
スタバ鳥取オープンに千人超
http://dailynews.yahoo.co.jp/fc/economy/apparel/?id=6160961
6月契約終了のバーバリー好調
http://dailynews.yahoo.co.jp/fc/science/life_on_earth/?id=6160969
「ゼロ」の概念をサル認識か
http://dailynews.yahoo.co.jp/fc/sports/prowrestling/?id=6160973
初代タイガーマスク 緊急手術
http://dailynews.yahoo.co.jp/fc/entertainment/broad_casting/?id=6160945
生中継に反発 安藤優子氏混乱
http://dailynews.yahoo.co.jp/fc/domestic/obituary/?id=6160936
闘病のアイドル 丸山さん死去
がでてくるところまでの簡単なRSSの使いかたを解説します。
RSSとは
RSSは、ニュースやブログなど各種のウェブサイトの更新情報を簡単にまとめ、配信するための幾つかの文書フォーマットの総称である。
wikiより。
つまり、本物スクレイピングしたら手間なところ、情報取得用に簡単にまとめられてるものて感じかな。
moduleを揃える。
feedparserのインストール
RSSフィードの解析にはfeedparserを利用します。
とのことなので、feedparserインストール[これ](http://
otiai10.hatenablog.com/entry/2012/05/04/180950)が参考になった。
feedparserの働き
ドキュメントを参照するとわかるのですが、以下の二つのkeyはおさえておきましょう。
entries
A list of dictionaries. Each dictionary contains data from a different entry. Entries are listed in the order in which they appear in the original feed.
feed
A dictionary of data about the feed.
それぞれの内部のkeyに関しては、ドキュメントに一覧になっているのでそちらをさらに参照。
RSSの取得と表示
yahooがこんな感じでRSS提供しています。
のでこのURL叩いて帰ってきたXMLをdictionaryにparseしてやるのが以下。
import feedparser
RSS_URL = "http://rss.dailynews.yahoo.co.jp/fc/rss.xml"
yahoo_news_dic = feedparser.parse(RSS_URL)
これで、ニュースがdictionaryに入る。どんな構造で入っているかはfeedparserのドキュメント見つつ。
んで以下が、全体のtitleとそれぞれの記事のタイトルとリンクを表示するところ。
print yahoo_news_dic.feed.title
for entry in yahoo_news_dic.entries:
title = entry.title
link = entry.link
print link
print title
で、冒頭にあったように
Yahoo!ニュース・トピックス - トップ
http://dailynews.yahoo.co.jp/fc/world/nuclear_weapons/?id=6160968
NPT決裂 文書採択できず閉幕
http://dailynews.yahoo.co.jp/fc/domestic/injury_case/?id=6160975
家族ら切られ4人死傷 男逮捕
http://dailynews.yahoo.co.jp/fc/economy/coffee_chain/?id=6160962
スタバ鳥取オープンに千人超
http://dailynews.yahoo.co.jp/fc/economy/apparel/?id=6160961
6月契約終了のバーバリー好調
http://dailynews.yahoo.co.jp/fc/science/life_on_earth/?id=6160969
「ゼロ」の概念をサル認識か
http://dailynews.yahoo.co.jp/fc/sports/prowrestling/?id=6160973
初代タイガーマスク 緊急手術
http://dailynews.yahoo.co.jp/fc/entertainment/broad_casting/?id=6160945
生中継に反発 安藤優子氏混乱
http://dailynews.yahoo.co.jp/fc/domestic/obituary/?id=6160936
闘病のアイドル 丸山さん死去
てな感じで出てくる。
以上、ソースコードはこちらにも。