dcn.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from .common import InfoExtractor
  2. class DcnIE(InfoExtractor):
  3. _VALID_URL = r'https?://(?:www\.)?dcndigital\.ae/(?:#/)?(?:video/.+|show/\d+/.+?)/(?P<id>\d+)/?'
  4. _TEST = {
  5. 'url': 'http://www.dcndigital.ae/#/show/199074/%D8%B1%D8%AD%D9%84%D8%A9-%D8%A7%D9%84%D8%B9%D9%85%D8%B1-%D8%A7%D9%84%D8%AD%D9%84%D9%82%D8%A9-1/17375/6887',
  6. 'info_dict':
  7. {
  8. 'id': '17375',
  9. 'ext': 'm3u8',
  10. 'title': 'رحلة العمر : الحلقة 1',
  11. 'description': '"في هذه الحلقة من برنامج رحلة العمر يقدّم الدكتور عمر عبد الكافي تبسيطاً لمناسك الحج والعمرة ويجيب مباشرة على استفسارات حجاج بيت الله الحرام بخصوص مناسك الحج والعمرة1"',
  12. 'thumbnail': 'http://admin.mangomolo.com/analytics/uploads/71/images/media/2/2cefc09d7bec80afa754682f40e49503.jpg',
  13. 'duration': '2041'
  14. }
  15. }
  16. def _real_extract(self, url):
  17. video_id = self._match_id(url)
  18. json_data = self._download_json(
  19. 'http://admin.mangomolo.com/analytics/index.php/plus/video?id='+video_id,
  20. video_id
  21. )
  22. title = json_data['title_ar'];
  23. thumbnail = 'http://admin.mangomolo.com/analytics/'+json_data['img'];
  24. duration = json_data['duration'];
  25. description = json_data['description_ar'];
  26. webpage = self._download_webpage(
  27. 'http://admin.mangomolo.com/analytics/index.php/customers/embed/video?id='+json_data['id']+'&user_id='+json_data['user_id']+'&countries=Q0M=&w=100%&h=100%&filter=DENY&signature='+json_data['signature'],
  28. video_id
  29. )
  30. m3u8_url = self._html_search_regex(
  31. r'file:\s*"([^"]+)',
  32. webpage,
  33. 'm3u8_url'
  34. )
  35. formats = self._extract_m3u8_formats(m3u8_url, video_id)
  36. return {
  37. 'id': video_id,
  38. 'title': title,
  39. 'thumbnail': thumbnail,
  40. 'duration': duration,
  41. 'description': description,
  42. 'formats': formats,
  43. }