|  | @@ -0,0 +1,48 @@
 | 
	
		
			
			|  | 1 | +from urllib import urlencode
 | 
	
		
			
			|  | 2 | +from HTMLParser import HTMLParser
 | 
	
		
			
			|  | 3 | +from xpath import *
 | 
	
		
			
			|  | 4 | +
 | 
	
		
			
			|  | 5 | +categories = ['dev']
 | 
	
		
			
			|  | 6 | +
 | 
	
		
			
			|  | 7 | +search_url = 'http://vimeo.com/search?{query}'
 | 
	
		
			
			|  | 8 | +
 | 
	
		
			
			|  | 9 | +Cookie = {
 | 
	
		
			
			|  | 10 | +    'vuid':'918282893.1027205400'
 | 
	
		
			
			|  | 11 | +    , 'ab_bs':'%7B%223%22%3A279%7D'
 | 
	
		
			
			|  | 12 | +    , '__utma':'18302654.101#6140782.1388942090.1388942090.1388942090.1'
 | 
	
		
			
			|  | 13 | +    , '__utmb':'18302654.1.10.1388942090'
 | 
	
		
			
			|  | 14 | +    , '__utmc':'18302654'
 | 
	
		
			
			|  | 15 | +    , '__utmz':'18#302654.1388942090.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)'
 | 
	
		
			
			|  | 16 | +    , '__utml':'search'
 | 
	
		
			
			|  | 17 | +}
 | 
	
		
			
			|  | 18 | +
 | 
	
		
			
			|  | 19 | +#'vuid=918282893.1027205400& ab_bs=%7B%223%22%3A279%7D& player="scaling=1&volume=1"& __utma=18302654.101#6140782.1388942090.1388942090.1388942090.1& __utmb=18302654.1.10.1388942090& __utmc=18302654& __utmz=18#302654.1388942090.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)& __utmli=search'
 | 
	
		
			
			|  | 20 | +
 | 
	
		
			
			|  | 21 | +def request(query, params):
 | 
	
		
			
			|  | 22 | +    params['url'] = search_url.format(query=urlencode({'q' :query}))
 | 
	
		
			
			|  | 23 | +    print params['url']
 | 
	
		
			
			|  | 24 | +    params['cookies'] = Cookie
 | 
	
		
			
			|  | 25 | +    return params
 | 
	
		
			
			|  | 26 | +
 | 
	
		
			
			|  | 27 | +
 | 
	
		
			
			|  | 28 | +def response(resp):
 | 
	
		
			
			|  | 29 | +    results = []
 | 
	
		
			
			|  | 30 | +    
 | 
	
		
			
			|  | 31 | +    dom = html.fromstring(resp.text)
 | 
	
		
			
			|  | 32 | +
 | 
	
		
			
			|  | 33 | +    if results_xpath:
 | 
	
		
			
			|  | 34 | +        for result in dom.xpath(results_xpath):
 | 
	
		
			
			|  | 35 | +            url = extract_url(result.xpath(url_xpath))
 | 
	
		
			
			|  | 36 | +
 | 
	
		
			
			|  | 37 | +            title = extract_text(result.xpath(title_xpath)[0 ])
 | 
	
		
			
			|  | 38 | +            content = extract_text(result.xpath(content_xpath)[0])
 | 
	
		
			
			|  | 39 | +            results.append({'url': url, 'title': title, 'content': content})
 | 
	
		
			
			|  | 40 | +    else:
 | 
	
		
			
			|  | 41 | +        for url, title, content in zip(    
 | 
	
		
			
			|  | 42 | +            map(extract_url, dom.xpath(url_xpath)), \
 | 
	
		
			
			|  | 43 | +            map(extract_text, dom.xpath(title_xpath)), \
 | 
	
		
			
			|  | 44 | +            map(extract_text, dom.xpath(content_xpath)), \
 | 
	
		
			
			|  | 45 | +                ):
 | 
	
		
			
			|  | 46 | +            results.append({'url': url, 'title': title, 'content': content})
 | 
	
		
			
			|  | 47 | +
 | 
	
		
			
			|  | 48 | +    return results
 |