Python:xml.etree.ElementTree, 外部 RDF。
前回は、ローカルな RDFファイルの item 要素から title を取り出した。
今回は、外部の RDF を扱ってみる。
前回のソースコードで変えたのは次の部分。
rootTree=etree.parse(source)
parse メソッドは、内部のファイルを取り込めるが、外部ファイルは取り込めないようだ。
外部ファイルにアクセスするには、Google App Engine の場合、urlfetch がある。これを利用しよう。
そして、fetch したテキストに対して、etree の fromstring() メソッドを適用して、ElementTree オブジェクトを生成する。
サンプルで用いる外部 RDF は、何でもよいが、goo のランキング RDF を今回は使用する。
if __name__ == "__main__": from google.appengine.api import urlfetch import xml.etree.ElementTree as etree url='http://ranking.goo.ne.jp/rss/keyword/keyrank_all1/index.rdf' xml=urlfetch.fetch(url).content rootTree=etree.fromstring(xml) titles = rootTree.findall('.//{http://purl.org/rss/1.0/}title') for i in titles: print i.text.encode('utf-8','ignore')