diff options
author | stef <stefan.marsiske@gmail.com> | 2013-10-19 22:19:14 +0200 |
---|---|---|
committer | stef <stefan.marsiske@gmail.com> | 2013-10-19 22:19:14 +0200 |
commit | 7c11c7056fdbc2e72126583e33f35985557773c6 (patch) | |
tree | 27f45c22fcdf5601876b77007a4a2288ae31912b /searx | |
parent | b3c418b36c034b1e3da0a6b607d6f631238f8d34 (diff) | |
download | searxng-7c11c7056fdbc2e72126583e33f35985557773c6.tar.gz searxng-7c11c7056fdbc2e72126583e33f35985557773c6.zip |
[enh] added google images engine
Diffstat (limited to 'searx')
-rwxr-xr-x | searx/engines/gimages.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/searx/engines/gimages.py b/searx/engines/gimages.py new file mode 100755 index 000000000..941e0fe4f --- /dev/null +++ b/searx/engines/gimages.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +from urllib import quote +from lxml import html +from urlparse import urljoin + +categories = ['test'] + +base_url = 'https://www.google.com/' +search_url = base_url+'search?tbm=isch&hl=en&q=' + +def request(query, params): + global search_url + query = quote(query.replace(' ', '+'), safe='+') + params['url'] = search_url + query + return params + +def response(resp): + global base_url + results = [] + dom = html.fromstring(resp.text) + for result in dom.xpath('//table[@class="images_table"]//a'): + url = urljoin(base_url, result.attrib.get('href')) + img = result.xpath('.//img')[0] + title = ' '.join(result.xpath('..//text()')) + content = '<img src="%s" alt="%s" />' % (img.attrib.get('src', ''), title) + results.append({'url': url, 'title': title, 'content': content}) + return results |