こんにちわ、タカです。Pythonの備忘録をひとつ。Feedparserでデータを取得する際にある属性(キー)が存在するかどうかを確認する方法になります。
現在、お仕事で様々なrssからデータを取得するプログラムをPythonで作っているのですが、Feedparserである属性(キー)が存在するかどうかに少し手間取ったので備忘録として記録しておきます。
>>> 'title' in d.entries
True
上のコードは「title」という属性(キー)がパースしたデータ内にあるかどうかの確認。あればTrueが返ります。
Feedparserでパースしたデータは辞書型のオブジェクトなので単純に「in」で確認できるという少し考えれば簡単なことでした。
実際には下のサンプルのようにif文などで存在確認して存在する場合は取得するような感じですかね。
d = feedparser.parse(response.url)
for contents in d.entries:
if 'title' in contents:
item['title'] = contents.title
rssデータもサイトによって吐き出す内容は様々で、いろいろなrssに対応するためにはそれぞれの属性(キー)が存在するかどうかをちゃんと確認する必要がありますのでご参考までに。
それでは、今回はここまで。また!
この記事のまとめ
- PythonのFeedparserで属性が存在するか確認する方法の備忘録