Overview
Today’s post will show how you can make a Google Command Line script with Python (version 2.7.x)
“”” Note: The Google Web Search API has been officially deprecated as of November 1, 2010. It will continue to work as per our deprecation policy, but the number of requests you may make per day will be limited. Therefore, we encourage you to move to the new Custom Search API. “””
To make a request to the Web search API, we have to import the modules that we need.
urllib2 Loads the URL response urllib To make use of urlencode json Google returns JSON
- CommandLineFu with Python
- How to use the Vimeo API in Python
- Extracting YouTube Data With Python Using API
Next we specify the URL for which we do the request too: http://ajax.googleapis.com/ajax/services/search/web?v=1.0&
To make it a bit interactive, we will ask the user for input and save the result to a variable that we name “query”.
query = raw_input("What do you want to search for ? >> ")
Create the response object by loading the URL response, including the query we asked for above.
response = urllib2.urlopen (url + query ).read()
# Process the JSON string. data = json.loads (response)
From this point we can play around with the results
GoogleSearch.py
Let’s see the complete script
import urllib2 import urllib import json url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&" query = raw_input("What do you want to search for ? >> ") query = urllib.urlencode( {'q' : query } ) response = urllib2.urlopen (url + query ).read() data = json.loads ( response ) results = data [ 'responseData' ] [ 'results' ] for result in results: title = result['title'] url = result['url'] print ( title + '; ' + url )
Open an text editor , copy & paste the code above.