mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 22:55:18 +00:00 
			
		
		
		
	| @@ -112,6 +112,13 @@ class DailymotionIE(DailymotionBaseInfoExtractor): | |||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
|  |     @staticmethod | ||||||
|  |     def _extract_urls(webpage): | ||||||
|  |         # Look for embedded Dailymotion player | ||||||
|  |         matches = re.findall( | ||||||
|  |             r'<(?:(?:embed|iframe)[^>]+?src=|input[^>]+id=[\'"]dmcloudUrlEmissionSelect[\'"][^>]+value=)(["\'])(?P<url>(?:https?:)?//(?:www\.)?dailymotion\.com/(?:embed|swf)/video/.+?)\1', webpage) | ||||||
|  |         return list(map(lambda m: unescapeHTML(m[1]), matches)) | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
|         video_id = self._match_id(url) |         video_id = self._match_id(url) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,7 +14,10 @@ from ..utils import ( | |||||||
|     parse_duration, |     parse_duration, | ||||||
|     determine_ext, |     determine_ext, | ||||||
| ) | ) | ||||||
| from .dailymotion import DailymotionCloudIE | from .dailymotion import ( | ||||||
|  |     DailymotionIE, | ||||||
|  |     DailymotionCloudIE, | ||||||
|  | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| class FranceTVBaseInfoExtractor(InfoExtractor): | class FranceTVBaseInfoExtractor(InfoExtractor): | ||||||
| @@ -188,6 +191,21 @@ class FranceTvInfoIE(FranceTVBaseInfoExtractor): | |||||||
|         'params': { |         'params': { | ||||||
|             'skip_download': True, |             'skip_download': True, | ||||||
|         }, |         }, | ||||||
|  |     }, { | ||||||
|  |         # Dailymotion embed | ||||||
|  |         'url': 'http://www.francetvinfo.fr/politique/notre-dame-des-landes/video-sur-france-inter-cecile-duflot-denonce-le-regard-meprisant-de-patrick-cohen_1520091.html', | ||||||
|  |         'md5': 'ee7f1828f25a648addc90cb2687b1f12', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'x4iiko0', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': 'NDDL, référendum, Brexit : Cécile Duflot répond à Patrick Cohen', | ||||||
|  |             'description': 'Au lendemain de la victoire du "oui" au référendum sur l\'aéroport de Notre-Dame-des-Landes, l\'ancienne ministre écologiste est l\'invitée de Patrick Cohen. Plus d\'info : https://www.franceinter.fr/emissions/le-7-9/le-7-9-27-juin-2016', | ||||||
|  |             'timestamp': 1467011958, | ||||||
|  |             'upload_date': '20160627', | ||||||
|  |             'uploader': 'France Inter', | ||||||
|  |             'uploader_id': 'x2q2ez', | ||||||
|  |         }, | ||||||
|  |         'add_ie': ['Dailymotion'], | ||||||
|     }] |     }] | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
| @@ -197,7 +215,13 @@ class FranceTvInfoIE(FranceTVBaseInfoExtractor): | |||||||
|  |  | ||||||
|         dmcloud_url = DailymotionCloudIE._extract_dmcloud_url(webpage) |         dmcloud_url = DailymotionCloudIE._extract_dmcloud_url(webpage) | ||||||
|         if dmcloud_url: |         if dmcloud_url: | ||||||
|             return self.url_result(dmcloud_url, 'DailymotionCloud') |             return self.url_result(dmcloud_url, DailymotionCloudIE.ie_key()) | ||||||
|  |  | ||||||
|  |         dailymotion_urls = DailymotionIE._extract_urls(webpage) | ||||||
|  |         if dailymotion_urls: | ||||||
|  |             return self.playlist_result([ | ||||||
|  |                 self.url_result(dailymotion_url, DailymotionIE.ie_key()) | ||||||
|  |                 for dailymotion_url in dailymotion_urls]) | ||||||
|  |  | ||||||
|         video_id, catalogue = self._search_regex( |         video_id, catalogue = self._search_regex( | ||||||
|             (r'id-video=([^@]+@[^"]+)', |             (r'id-video=([^@]+@[^"]+)', | ||||||
|   | |||||||
| @@ -49,7 +49,10 @@ from .pornhub import PornHubIE | |||||||
| from .xhamster import XHamsterEmbedIE | from .xhamster import XHamsterEmbedIE | ||||||
| from .tnaflix import TNAFlixNetworkEmbedIE | from .tnaflix import TNAFlixNetworkEmbedIE | ||||||
| from .vimeo import VimeoIE | from .vimeo import VimeoIE | ||||||
| from .dailymotion import DailymotionCloudIE | from .dailymotion import ( | ||||||
|  |     DailymotionIE, | ||||||
|  |     DailymotionCloudIE, | ||||||
|  | ) | ||||||
| from .onionstudios import OnionStudiosIE | from .onionstudios import OnionStudiosIE | ||||||
| from .viewlift import ViewLiftEmbedIE | from .viewlift import ViewLiftEmbedIE | ||||||
| from .screenwavemedia import ScreenwaveMediaIE | from .screenwavemedia import ScreenwaveMediaIE | ||||||
| @@ -1673,12 +1676,9 @@ class GenericIE(InfoExtractor): | |||||||
|         if matches: |         if matches: | ||||||
|             return _playlist_from_matches(matches, lambda m: m[-1]) |             return _playlist_from_matches(matches, lambda m: m[-1]) | ||||||
|  |  | ||||||
|         # Look for embedded Dailymotion player |         matches = DailymotionIE._extract_urls(webpage) | ||||||
|         matches = re.findall( |  | ||||||
|             r'<(?:(?:embed|iframe)[^>]+?src=|input[^>]+id=[\'"]dmcloudUrlEmissionSelect[\'"][^>]+value=)(["\'])(?P<url>(?:https?:)?//(?:www\.)?dailymotion\.com/(?:embed|swf)/video/.+?)\1', webpage) |  | ||||||
|         if matches: |         if matches: | ||||||
|             return _playlist_from_matches( |             return _playlist_from_matches(matches) | ||||||
|                 matches, lambda m: unescapeHTML(m[1])) |  | ||||||
|  |  | ||||||
|         # Look for embedded Dailymotion playlist player (#3822) |         # Look for embedded Dailymotion playlist player (#3822) | ||||||
|         m = re.search( |         m = re.search( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan