logo

searx

My custom branche(s) on searx, a meta-search engine
commit: 5857141e498e80c1528ac13091ae374e807cbf75
parent: b975418e4ce33aef530f7ad88e100d47d73e4761
Author: Adam Tauber <asciimoo@gmail.com>
Date:   Wed, 24 Dec 2014 20:21:38 +0100

Merge pull request #161 from Cqoicebordel/SubtitleSeeker-engine

SubtitleSeeker Engine

Diffstat:

Asearx/engines/subtitleseeker.py64++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msearx/settings.yml7+++++++
2 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/searx/engines/subtitleseeker.py b/searx/engines/subtitleseeker.py @@ -0,0 +1,64 @@ +## Subtitleseeker (Video) +# +# @website http://www.subtitleseeker.com +# @provide-api no +# +# @using-api no +# @results HTML +# @stable no (HTML can change) +# @parse url, title, content + +from cgi import escape +from urllib import quote_plus +from lxml import html + +# engine dependent config +categories = ['videos'] +paging = True +language = "" + +# search-url +url = 'http://www.subtitleseeker.com/' +search_url = url+'search/TITLES/{query}&p={pageno}' + +# specific xpath variables +results_xpath = '//div[@class="boxRows"]' + + +# do search-request +def request(query, params): + params['url'] = search_url.format(query=quote_plus(query), + pageno=params['pageno']) + return params + + +# get response from search-request +def response(resp): + results = [] + + dom = html.fromstring(resp.text) + + # parse results + for result in dom.xpath(results_xpath): + link = result.xpath(".//a")[0] + href = link.attrib.get('href') + + if language is not "": + href = href + language + "/" + + title = escape(link.xpath(".//text()")[0]) + + content = result.xpath('.//div[contains(@class,"red")]//text()')[0] + content = content + " - " + content = content + html.tostring(result.xpath('.//div[contains(@class,"grey-web")]')[0], method='text') + + if result.xpath(".//span") != []: + content = content + " - (" + result.xpath(".//span//text()")[0].strip() + ")" + + # append result + results.append({'url': href, + 'title': title, + 'content': escape(content)}) + + # return results + return results diff --git a/searx/settings.yml b/searx/settings.yml @@ -131,6 +131,13 @@ engines: engine : searchcode_code shortcut : scc + - name : subtitleseeker + engine : subtitleseeker + shortcut : ss +# The language is an option. You can put any language written in english +# Examples : English, French, German, Hungarian, Chinese... +# language : English + - name : startpage engine : startpage shortcut : sp