Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- #Usage: google.py QUERY PAGES DOWNLOAD_LOCATION
- import urllib2
- import json
- import sys
- import string
- def format_filename(s):
- valid_chars = "-_.() %s%s" % (string.ascii_letters, string.digits)
- filename = ''.join(c for c in s if c in valid_chars)
- return filename
- query = urllib2.quote(str(sys.argv[1]))
- pages_scan = 1
- pages_scan = int(sys.argv[2])
- count = 0
- save_loc = str(sys.argv[3])
- accepted_filetypes = ['jpeg','jpg','png','bmp','gif']
- if pages_scan > 8:
- print('\033[93m> Google API has a limit of 8 pages, pages to scan set to 8\033[0m')
- pages_scan = 8
- for x in range(0, int(pages_scan)):
- print('\033[94mPage: %s\033[0m' % (x+1))
- url = ('https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=%s&rsz=8&start=%s' % (query,count+(x*8)))
- request = urllib2.Request(url, None, {'Referer': 'None'})
- response = urllib2.urlopen(request)
- results = json.load(response)
- for post in results['responseData']['results']:
- print('> %s' % post['url'])
- try:
- req = urllib2.Request(post['url'], headers={'User-Agent' : "Fozilla Mirefox"})
- u = urllib2.urlopen(post['url'])
- mime = (u.info().getheader('Content-Type').split('/')[1])
- if mime.endswith(tuple(accepted_filetypes)):
- ofile = open('%s/%s.%s' % (save_loc,format_filename(post['titleNoFormatting']),mime), 'w')
- ofile.write(u.read())
- ofile.close()
- except:
- print('\033[93m> Invalid Page (500 Error?)\033[0m')
Advertisement
Add Comment
Please, Sign In to add comment