【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]
この投稿へのリンク:
リンクを作成
<< ホーム