2008年4月3日木曜日

【Python】 BeautifulSoupでGoogle SuggestのXMLをパースする。

以下のアドレスにブラウザ等でアクセスするとGoogle Suggestの結果がXML形式で帰ってくる。
http://google.com/complete/search?output=toolbar&q=microsoft



<?xml version="1.0"?>
<toplevel>
<CompleteSuggestion>
<suggestion data="microsoft office"/>
<num_queries int="116000000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="microsoft.com"/>
<num_queries int="51900000"/>
</CompleteSuggestion>
...



このXMLをPythonで処理する。XMLパーサーとしてBeautifulSoupを用いる。

BeautifulSoupのインストールがまだなら、以下を参考にインストールする。
【Python】 BeautifulSoupでHTML解析

また、httpget.pyを以下を参考に作成する。
【Python】 httpgetの実装

以上の準備が終わったら、getGoogleSuggestionsの実装。

まず、インポートから。


from BeautifulSoup import BeautifulSoup
from httpget import httpget



関数名をgetGoogleSuggestionsとする。


def getGoogleSuggestions(term):
if not term:
return False



続いて、httpgetでXMLドキュメントを取得して、BeautifulSoupでsuggestionタグを探す。


url = 'http://google.com/complete/search?output=toolbar&q=' + term
doc = httpget(url)
soup = BeautifulSoup(unicode(doc, 'utf-8', 'ignore'))
ss = soup.findAll(name='suggestion')



次に、見つかった要素をterms配列に入れていく。


terms = []
for s in ss:
terms.append(s.attrs[0][1])
return terms



使い方は、
terms = getGoogleSuggestions('microsoft')
などとするだけ。
簡単、楽ちん。

ラベル: ,

0 件のコメント:

コメントを投稿

登録 コメントの投稿 [Atom]

この投稿へのリンク:

リンクを作成

<< ホーム