diff options
Diffstat (limited to 'searx/engines/deviantart.py')
| -rw-r--r-- | searx/engines/deviantart.py | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/searx/engines/deviantart.py b/searx/engines/deviantart.py index 4198e8c76..60c8d7ea7 100644 --- a/searx/engines/deviantart.py +++ b/searx/engines/deviantart.py @@ -1,14 +1,16 @@ -## Deviantart (Images) -# -# @website https://www.deviantart.com/ -# @provide-api yes (https://www.deviantart.com/developers/) (RSS) -# -# @using-api no (TODO, rewrite to api) -# @results HTML -# @stable no (HTML can change) -# @parse url, title, thumbnail_src, img_src -# -# @todo rewrite to api +""" + Deviantart (Images) + + @website https://www.deviantart.com/ + @provide-api yes (https://www.deviantart.com/developers/) (RSS) + + @using-api no (TODO, rewrite to api) + @results HTML + @stable no (HTML can change) + @parse url, title, thumbnail_src, img_src + + @todo rewrite to api +""" from urllib import urlencode from urlparse import urljoin @@ -22,7 +24,7 @@ paging = True # search-url base_url = 'https://www.deviantart.com/' -search_url = base_url+'search?offset={offset}&{query}' +search_url = base_url+'browse/all/?offset={offset}&{query}' # do search-request @@ -56,6 +58,12 @@ def response(resp): thumbnail_src = link.xpath('.//img')[0].attrib.get('src') img_src = regex.sub('/', thumbnail_src) + # http to https, remove domain sharding + thumbnail_src = re.sub(r"https?://(th|fc)\d+.", "https://th01.", thumbnail_src) + thumbnail_src = re.sub(r"http://", "https://", thumbnail_src) + + url = re.sub(r"http://(.*)\.deviantart\.com/", "https://\\1.deviantart.com/", url) + # append result results.append({'url': url, 'title': title, |