vimeo.py 1.7 KB

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