PyhonでYahooAPI関連検索を試してみた

Yahoo!デベロッパーネットワーク

というページがあり、
ここにはウェブ検索や画像検索などのAPIの
詳細が書かれている。

関連検索ワードWebサービスは下記から。

http://developer.yahoo.co.jp/search/webunit/V1/webunitSearch.html

使用するのには、
アプリケーションID
が必要みたいなので登録した。

後気をつけなければいけないのが、
関連検索ワードWebサービスは、
24時間中1IPアドレスにつき50000件のリクエストが上限となっています。

なるほど。
お金を払って商用とかに使えるのかな?
今度聞いてみたいな。

今回は以前使用した「BeautifulSoup」を使って、
早速やってみる。
(nobuさんにlxmlで良くない?って言われてたな。。。今度はそっちでやってみよう。)
>>> import urllib2
>>> from urllib import quote
>>> from BeautifulSoup import BeautifulSoup
>>> opener = urllib2.build_opener()
>>> yahoo_url = u'http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch?'
>>> yahoo_id = u'appid=登録したアプリケーションID'
>>> search_tag = u'python'<br />
>>> yahoo_query = 'u&amp;amp;amp;amp;amp;amp;query=' + quote(search_tag.encode('utf-8'))
>>> yahoo_html  = opener.open(yahoo_url + yahoo_id + yahoo_query).read()
>>> yahoo_soup  = BeautifulSoup(yahoo_html)
>>> print yahoo_soup

実際に取得した値を表示させるとこんな感じ。
< ?xml version='1.0' encoding='utf-8'?>
monty python
colt python
python インストール
python 制限
python cgi
python 入門
python ダウンロード
<!-- pls139.search.tnz.yahoo.co.jp uncompressed/chunked Thu Feb 14 23:52:57 JST 2008 --><br />
<!-- ws0.search.bbt.yahoo.co.jp uncompressed/chunked Thu Feb 14 23:52:57 JST 2008 --><br />
上記から
<result>の部分のみを取得する。

>>> yahoo_obj = []
>>> for yobj in yahoo_soup.findAll('result'):
...  yahoo_obj.append(''.join([str(t) for t in yobj.contents[:]]))


こんな感じかな。
とりあえず取れた。
Posted at: 
2008/02/14 23:13:16
0 Comments
0 TrackBacks
Tags: 
Python
Trackback: 
http://kishi-r.com/2008/02/14/pyhonyhooapi/trackback/

TrackBacks

まだ登録されていません。

Comments

まだ登録されていません。

Add Comment

Add Comment
人気ブログランキング - kishi-r.com track feed
あわせて読みたい