logo

searx

My custom branche(s) on searx, a meta-search engine git clone https://hacktivis.me/git/searx.git
commit: 0549f8c7c8d25d9764c83bc006fa32cdddc13c46
parent 1d5741954eb6786bbbc31e9bc4d540f73bccdb46
Author: Thomas Pointhuber <thomas.pointhuber@gmx.at>
Date:   Tue,  4 Mar 2014 13:11:04 +0100

Create google_news.py

Diffstat:

Asearx/engines/google_news.py37+++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+), 0 deletions(-)

diff --git a/searx/engines/google_news.py b/searx/engines/google_news.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python + +from urllib import urlencode +from json import loads + +categories = ['news'] + +url = 'https://ajax.googleapis.com/' +search_url = url + 'ajax/services/search/news?v=2.0&start={offset}&rsz=large&safe=off&filter=off&{query}&hl={language}' # noqa + +paging = True +language_support = True + + +def request(query, params): + offset = (params['pageno'] - 1) * 8 + language = 'en-US' + if params['language'] != 'all': + language = params['language'].replace('_', '-') + params['url'] = search_url.format(offset=offset, + query=urlencode({'q': query}), + language=language) + return params + + +def response(resp): + results = [] + search_res = loads(resp.text) + + if not search_res.get('responseData', {}).get('results'): + return [] + + for result in search_res['responseData']['results']: + results.append({'url': result['unescapedUrl'], + 'title': result['titleNoFormatting'], + 'content': result['content']}) + return results