lenta.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from .common import InfoExtractor
  2. class LentaIE(InfoExtractor):
  3. _VALID_URL = r'https?://(?:www\.)?lenta\.ru/[^/]+/\d+/\d+/\d+/(?P<id>[^/?#&]+)'
  4. _TESTS = [{
  5. 'url': 'https://lenta.ru/news/2018/03/22/savshenko_go/',
  6. 'info_dict': {
  7. 'id': '964400',
  8. 'ext': 'mp4',
  9. 'title': 'Надежду Савченко задержали',
  10. 'thumbnail': r're:^https?://.*\.jpg$',
  11. 'duration': 61,
  12. 'view_count': int,
  13. },
  14. 'params': {
  15. 'skip_download': True,
  16. },
  17. }, {
  18. # EaglePlatform iframe embed
  19. 'url': 'http://lenta.ru/news/2015/03/06/navalny/',
  20. 'info_dict': {
  21. 'id': '227304',
  22. 'ext': 'mp4',
  23. 'title': 'Навальный вышел на свободу',
  24. 'description': 'md5:d97861ac9ae77377f3f20eaf9d04b4f5',
  25. 'thumbnail': r're:^https?://.*\.jpg$',
  26. 'duration': 87,
  27. 'view_count': int,
  28. 'age_limit': 0,
  29. },
  30. 'params': {
  31. 'skip_download': True,
  32. },
  33. }]
  34. def _real_extract(self, url):
  35. display_id = self._match_id(url)
  36. webpage = self._download_webpage(url, display_id)
  37. video_id = self._search_regex(
  38. r'vid\s*:\s*["\']?(\d+)', webpage, 'eagleplatform id',
  39. default=None)
  40. if video_id:
  41. return self.url_result(
  42. 'eagleplatform:lentaru.media.eagleplatform.com:%s' % video_id,
  43. ie='EaglePlatform', video_id=video_id)
  44. return self.url_result(url, ie='Generic')