diff options
| author | pw3t <romain@berthor.fr> | 2014-01-02 19:52:21 +0100 |
|---|---|---|
| committer | pw3t <romain@berthor.fr> | 2014-01-02 19:52:21 +0100 |
| commit | efb6eca39e9dd851645f76bd72ac076f61a11c09 (patch) | |
| tree | 04b571f5d56967d63c213b45d35cfda08c4d2769 /searx/engines | |
| parent | 6f2b8aca5e36196f6370951d915b06356a2549db (diff) | |
| parent | d2898b08187101aad477ef48c8ea7518cee8b925 (diff) | |
Merge branch 'master' of https://github.com/asciimoo/searx
Diffstat (limited to 'searx/engines')
| -rw-r--r-- | searx/engines/dailymotion.py | 32 | ||||
| -rwxr-xr-x | searx/engines/flickr.py | 2 | ||||
| -rw-r--r-- | searx/engines/piratebay.py | 2 | ||||
| -rw-r--r-- | searx/engines/xpath.py | 2 |
4 files changed, 35 insertions, 3 deletions
diff --git a/searx/engines/dailymotion.py b/searx/engines/dailymotion.py new file mode 100644 index 000000000..7046132f3 --- /dev/null +++ b/searx/engines/dailymotion.py @@ -0,0 +1,32 @@ +from urllib import urlencode +from json import loads +from cgi import escape + +categories = ['videos'] +localization = 'en' + +# see http://www.dailymotion.com/doc/api/obj-video.html +search_url = 'https://api.dailymotion.com/videos?fields=title,description,duration,url,thumbnail_360_url&sort=relevance&limit=25&page=1&{query}' + +def request(query, params): + global search_url + params['url'] = search_url.format(query=urlencode({'search': query, 'localization': localization })) + return params + + +def response(resp): + results = [] + search_res = loads(resp.text) + if not 'list' in search_res: + return results + for res in search_res['list']: + title = res['title'] + url = res['url'] + if res['thumbnail_360_url']: + content = '<a href="{0}" title="{0}" ><img src="{1}" /></a><br />'.format(url, res['thumbnail_360_url']) + else: + content = '' + if res['description']: + content += escape(res['description'][:500]) + results.append({'url': url, 'title': title, 'content': content}) + return results diff --git a/searx/engines/flickr.py b/searx/engines/flickr.py index 04a24552a..a9832856d 100755 --- a/searx/engines/flickr.py +++ b/searx/engines/flickr.py @@ -7,7 +7,7 @@ from urlparse import urljoin categories = ['images'] url = 'https://secure.flickr.com/' -search_url = url+'search/?q={query}' +search_url = url+'search/?{query}' def request(query, params): params['url'] = search_url.format(query=urlencode({'q': query})) diff --git a/searx/engines/piratebay.py b/searx/engines/piratebay.py index a7e1becc4..95ab884d5 100644 --- a/searx/engines/piratebay.py +++ b/searx/engines/piratebay.py @@ -5,7 +5,7 @@ from urllib import quote categories = ['videos', 'music'] -url = 'https://thepiratebay.sx/' +url = 'https://thepiratebay.se/' search_url = url + 'search/{search_term}/0/99/{search_type}' search_types = {'videos': '200' ,'music' : '100' diff --git a/searx/engines/xpath.py b/searx/engines/xpath.py index 068f2ba61..ad3a97ffa 100644 --- a/searx/engines/xpath.py +++ b/searx/engines/xpath.py @@ -28,7 +28,7 @@ def extract_url(xpath_results): url = xpath_results[0].attrib.get('href') else: url = xpath_results.attrib.get('href') - if not url.startswith('http://') or not url.startswith('https://'): + if not url.startswith('http://') and not url.startswith('https://'): url = 'http://'+url parsed_url = urlparse(url) if not parsed_url.netloc: |