google.py 1.1KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env python
  2. from urllib import urlencode
  3. from json import loads
  4. categories = ['general']
  5. url = 'https://ajax.googleapis.com/'
  6. search_url = url + 'ajax/services/search/web?v=2.0&start={offset}&rsz=large&safe=off&filter=off&{query}&hl={language}' # noqa
  7. paging = True
  8. language_support = True
  9. def request(query, params):
  10. offset = (params['pageno'] - 1) * 8
  11. language = 'en-US'
  12. if params['language'] != 'all':
  13. language = params['language'].replace('_', '-')
  14. params['url'] = search_url.format(offset=offset,
  15. query=urlencode({'q': query}),
  16. language=language)
  17. return params
  18. def response(resp):
  19. results = []
  20. search_res = loads(resp.text)
  21. if not search_res.get('responseData', {}).get('results'):
  22. return []
  23. for result in search_res['responseData']['results']:
  24. results.append({'url': result['unescapedUrl'],
  25. 'title': result['titleNoFormatting'],
  26. 'content': result['content']})
  27. return results