読者です 読者をやめる 読者になる 読者になる

oneshotlife-pythonのブログ

Pythonを好んで使っているプログラマです。Pythonこそが最強のプログラミング言語だと思っています。Pythonは使いやすいです。Pythonは書きやすいです。Pythonは読みやすいです。Pythonはパワフルです。Pythonは一貫性があります。Pythonが好きです。

AmazonランキングのRSSをPythonで読み込んで出力 #Python

WebScraping

はじめに

最近、クローリング/スクレイピング/スパイダリングにはまっています。

Amazonのランキングを出力したいなと思いました。

やり方はいろいろあるのだけれども、、、
例えばAmazonのランキングのページのhtmlを解析して、必要な情報だけ抜き取るとかね。
このやり方の良いところは、ページに表示されているものならすべて扱えるところですかね。

他にもRSSを読み込んで出力するという方法があります。
RSSはフォーマッティングされた綺麗な形式なので、情報の抜きだしは簡単。その代わり、
配信されていない情報はどうにもこうにも出来ません。

ということで、扱いたい情報がRSSで事足りるならRSS,足りないならページを地道にスクレイピングするのが良いのかなと。

試しに

Amazon.co.jp: 本 > 文学・評論のベストセラー

RSSを読み込んでみることにしました。

サンプルコード

>>> import feedparser
>>> url = "http://www.amazon.co.jp/gp/rss/bestsellers/books/466284/"
>>> feed = feedparser.parse(url)
>>> for entry in feed["entries"]:
...     print entry["title"]
...

実行結果

#1: カエルの楽園
#2: 天才
#3: 黒蜥蜴
#4: 七つの会議 (集英社文庫)
#5: あの日
#6: 火星の人
#7: 夏を殺す少女
#8: 『嵐、ブレイク前夜』外伝 嵐、青春プレーバック
#9: 七つの会議
#10: 作家の収支 (幻冬舎新書)

簡単ですね!

応用も出来そう。

こういうことに興味をお持ちならこちらの書籍もどうぞ

Spidering hacks―ウェブ情報ラクラク取得テクニック101選

Spidering hacks―ウェブ情報ラクラク取得テクニック101選

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例