SubtitleSeeker Engine
Add the subtitleseeker engine.
This commit is contained in:
		
							parent
							
								
									2e41bfcbdb
								
							
						
					
					
						commit
						550232fc21
					
				
							
								
								
									
										59
									
								
								searx/engines/subtitleseeker.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								searx/engines/subtitleseeker.py
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
| @ -127,6 +127,10 @@ engines: | ||||
|     engine : searchcode_code | ||||
|     shortcut : scc | ||||
| 
 | ||||
|   - name : subtitleseeker | ||||
|     engine : subtitleseeker | ||||
|     shortcut : ss | ||||
| 
 | ||||
|   - name : startpage | ||||
|     engine : startpage | ||||
|     shortcut : sp | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Cqoicebordel
						Cqoicebordel