Browse Source

SubtitleSeeker Engine
Add the subtitleseeker engine.

Cqoicebordel 10 years ago
parent
commit
550232fc21
2 changed files with 63 additions and 0 deletions
  1. 59 0
      searx/engines/subtitleseeker.py
  2. 4 0
      searx/settings.yml

+ 59 - 0
searx/engines/subtitleseeker.py

@@ -0,0 +1,59 @@
+## 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
+
+# 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')
+        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

+ 4 - 0
searx/settings.yml

@@ -127,6 +127,10 @@ engines:
     engine : searchcode_code
     shortcut : scc
 
+  - name : subtitleseeker
+    engine : subtitleseeker
+    shortcut : ss
+
   - name : startpage
     engine : startpage
     shortcut : sp