您的位置:首页 > 编程语言 > Go语言

google Image search API

2012-06-05 17:21 459 查看
A python client to query image from google. Though the api service has been tagged as (Deprecated), it will work before a new version is released.

'''
Loosely based on Mike Verdone's excellent twitter library: http://github.com/sixohsix/twitter/ 
'''

from exceptions import Exception
from urllib import urlencode
import urllib2

try:
import json
except ImportError:
import simplejson as json

class GoogleError(Exception):
"""
Exception thrown by the search object when there is an
error interacting with google.com.
"""
pass

class GoogleImageSearch(object):
def __init__(self, endpoint, user_agent= None, cache=None):
self.endpoint = endpoint
self.cache = cache
self.user_agent = user_agent

def __call__(self, **params):
params['v']='1.0'
kwargs = dict(params)
kwargs = urlencode(kwargs)

# HTTP GET
req = urllib2.Request('%s?%s' % (self.endpoint, kwargs))
print req.get_full_url()
cache_response = True

if self.user_agent:
req.add_header('User-Agent', self.user_agent)

try:
handle = urllib2.urlopen(req)
response = handle.read()
if cache_response and self.cache != None:
self.cache.set('googleimagesearch-' + kwargs, response, time=int(time() + 60))
response = json.loads(response)
return response
except urllib2.HTTPError, e:
raise GoogleError('google imagesearch sent status %i for method: %s\ndetails: %s' % (e.code, e.fp.read()))

class GoogleImage(GoogleImageSearch):
def __init__(self, endpoint='https://ajax.googleapis.com/ajax/services/search/images', user_agent='python-googleimage/0.1',  cache=None):
GoogleImageSearch.__init__(self, endpoint=endpoint, user_agent=user_agent,  cache=cache)

if __name__ == '__main__':
googleimage =  GoogleImage()
query = {'q':'EURECOM'}
print googleimage(**query)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: