porn91.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # encoding: utf-8
  2. from __future__ import unicode_literals
  3. import re
  4. from ..compat import compat_urllib_parse
  5. from .common import InfoExtractor
  6. class Porn91IE(InfoExtractor):
  7. IE_NAME = '91porn'
  8. _VALID_URL = r'(?:https?://)(?:www\.|)91porn\.com/.+?\?viewkey=(?P<id>[\w\d]+)'
  9. _TEST = {
  10. 'url': 'http://91porn.com/view_video.php?viewkey=7e42283b4f5ab36da134',
  11. 'md5': '6df8f6d028bc8b14f5dbd73af742fb20',
  12. 'info_dict': {
  13. 'id': '7e42283b4f5ab36da134',
  14. 'title': '18岁大一漂亮学妹,水嫩性感,再爽一次!',
  15. 'ext': 'mp4'
  16. }
  17. }
  18. def _real_extract(self, url):
  19. mobj = re.match(self._VALID_URL, url)
  20. video_id = mobj.group('id')
  21. url = 'http://91porn.com/view_video.php?viewkey=%s' % video_id
  22. self._set_cookie('91porn.com', 'language', 'cn_CN')
  23. webpage = self._download_webpage(url, video_id, "get HTML content")
  24. title = self._search_regex(
  25. r'<div id="viewvideo-title">(?P<title>.+?)</div>',
  26. webpage, 'title', flags=re.DOTALL)
  27. title = title.replace('\n', '')
  28. # get real url
  29. n1 = self._search_regex(
  30. r'so.addVariable\(\'file\',\'(?P<n1>\d+)\'', webpage, 'n1')
  31. n2 = self._search_regex(
  32. r'so.addVariable\(\'seccode\',\'(?P<n2>.+?)\'', webpage, 'n2')
  33. n3 = self._search_regex(
  34. r'so.addVariable\(\'max_vid\',\'(?P<n3>\d+)\'', webpage, 'n3')
  35. url_params = compat_urllib_parse.urlencode({
  36. 'VID': n1,
  37. 'mp4': '1',
  38. 'seccode': n2,
  39. 'max_vid': n3,
  40. })
  41. t_url = 'http://91porn.com/getfile.php?' + url_params
  42. info_cn = self._download_webpage(t_url, video_id, "get real video_url")
  43. video_url = self._search_regex(r'file=(?P<url>http.+?)&', info_cn, 'url')
  44. # construct info
  45. info = {
  46. 'id': video_id,
  47. 'title': title,
  48. 'url': video_url,
  49. }
  50. return info