summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
authorstef <stefan.marsiske@gmail.com>2013-10-19 22:19:14 +0200
committerstef <stefan.marsiske@gmail.com>2013-10-19 22:19:14 +0200
commit7c11c7056fdbc2e72126583e33f35985557773c6 (patch)
tree27f45c22fcdf5601876b77007a4a2288ae31912b /searx
parentb3c418b36c034b1e3da0a6b607d6f631238f8d34 (diff)
downloadsearxng-7c11c7056fdbc2e72126583e33f35985557773c6.tar.gz
searxng-7c11c7056fdbc2e72126583e33f35985557773c6.zip
[enh] added google images engine
Diffstat (limited to 'searx')
-rwxr-xr-xsearx/engines/gimages.py28
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