mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[ie/mediaklikk] Fix extractor (#13975)
Closes #14091 Authored by: zhallgato
This commit is contained in:
		| @@ -11,121 +11,65 @@ from ..utils import ( | ||||
| 
 | ||||
| class MediaKlikkIE(InfoExtractor): | ||||
|     _VALID_URL = r'''(?x)https?://(?:www\.)? | ||||
|                         (?:mediaklikk|m4sport|hirado|petofilive)\.hu/.*?(?:videok?|cikk)/ | ||||
|                         (?:mediaklikk|m4sport|hirado)\.hu/.*?(?:videok?|cikk)/ | ||||
|                         (?:(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2})/(?P<day>[0-9]{1,2})/)? | ||||
|                         (?P<id>[^/#?_]+)''' | ||||
| 
 | ||||
|     _TESTS = [{ | ||||
|         'url': 'https://mediaklikk.hu/filmajanlo/cikk/az-ajto/', | ||||
|         # mediaklikk | ||||
|         'url': 'https://mediaklikk.hu/ajanlo/video/2025/08/04/heviz-dzsungel-a-viz-alatt-ajanlo-08-10/', | ||||
|         'info_dict': { | ||||
|             'id': '668177', | ||||
|             'title': 'Az ajtó', | ||||
|             'display_id': 'az-ajto', | ||||
|             'id': '8573769', | ||||
|             'title': 'Hévíz - dzsungel a víz alatt – Ajánló (08.10.)', | ||||
|             'display_id': 'heviz-dzsungel-a-viz-alatt-ajanlo-08-10', | ||||
|             'ext': 'mp4', | ||||
|             'thumbnail': 'https://cdn.cms.mtv.hu/wp-content/uploads/sites/4/2016/01/vlcsnap-2023-07-31-14h18m52s111.jpg', | ||||
|             'upload_date': '20250804', | ||||
|             'thumbnail': 'https://cdn.cms.mtv.hu/wp-content/uploads/sites/4/2025/08/vlcsnap-2025-08-04-13h48m24s336.jpg', | ||||
|         }, | ||||
|     }, { | ||||
|         # (old) mediaklikk. date in html. | ||||
|         'url': 'https://mediaklikk.hu/video/hazajaro-delnyugat-bacska-a-duna-menten-palankatol-doroszloig/', | ||||
|         # mediaklikk - date in html | ||||
|         'url': 'https://mediaklikk.hu/video/hazajaro-bilo-hegyseg-verocei-barangolas-a-drava-menten/', | ||||
|         'info_dict': { | ||||
|             'id': '4754129', | ||||
|             'title': 'Hazajáró, DÉLNYUGAT-BÁCSKA – A Duna mentén Palánkától Doroszlóig', | ||||
|             'id': '8482167', | ||||
|             'title': 'Hazajáró, Bilo-hegység - Verőcei barangolás a Dráva mentén', | ||||
|             'display_id': 'hazajaro-bilo-hegyseg-verocei-barangolas-a-drava-menten', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20210901', | ||||
|             'thumbnail': 'http://mediaklikk.hu/wp-content/uploads/sites/4/2014/02/hazajarouj_JO.jpg', | ||||
|             'upload_date': '20250703', | ||||
|             'thumbnail': 'https://cdn.cms.mtv.hu/wp-content/uploads/sites/4/2025/07/2024-000307-M0010-01_3700_cover_01.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to 404 page', | ||||
|     }, { | ||||
|         # mediaklikk. date in html. | ||||
|         'url': 'https://mediaklikk.hu/video/hazajaro-fabova-hegyseg-kishont-koronaja/', | ||||
|         'info_dict': { | ||||
|             'id': '6696133', | ||||
|             'title': 'Hazajáró, Fabova-hegység - Kishont koronája', | ||||
|             'display_id': 'hazajaro-fabova-hegyseg-kishont-koronaja', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20230903', | ||||
|             'thumbnail': 'https://mediaklikk.hu/wp-content/uploads/sites/4/2014/02/hazajarouj_JO.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to 404 page', | ||||
|     }, { | ||||
|         # (old) m4sport | ||||
|         'url': 'https://m4sport.hu/video/2021/08/30/gyemant-liga-parizs/', | ||||
|         'info_dict': { | ||||
|             'id': '4754999', | ||||
|             'title': 'Gyémánt Liga, Párizs', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20210830', | ||||
|             'thumbnail': 'http://m4sport.hu/wp-content/uploads/sites/4/2021/08/vlcsnap-2021-08-30-18h21m20s10-1024x576.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to 404 page', | ||||
|     }, { | ||||
|         # m4sport | ||||
|         'url': 'https://m4sport.hu/sportkozvetitesek/video/2023/09/08/atletika-gyemant-liga-brusszel/', | ||||
|         'url': 'https://m4sport.hu/video/2025/08/07/holnap-kezdodik-a-12-vilagjatekok/', | ||||
|         'info_dict': { | ||||
|             'id': '6711136', | ||||
|             'title': 'Atlétika – Gyémánt Liga, Brüsszel', | ||||
|             'display_id': 'atletika-gyemant-liga-brusszel', | ||||
|             'id': '8581887', | ||||
|             'title': 'Holnap kezdődik a 12. Világjátékok', | ||||
|             'display_id': 'holnap-kezdodik-a-12-vilagjatekok', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20230908', | ||||
|             'thumbnail': 'https://m4sport.hu/wp-content/uploads/sites/4/2023/09/vlcsnap-2023-09-08-22h43m18s691.jpg', | ||||
|             'upload_date': '20250807', | ||||
|             'thumbnail': 'https://cdn.cms.mtv.hu/wp-content/uploads/sites/4/2025/08/vlcsnap-2025-08-06-20h30m48s817.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to 404 page', | ||||
|     }, { | ||||
|         # m4sport with *video/ url and no date | ||||
|         'url': 'https://m4sport.hu/bl-video/real-madrid-chelsea-1-1/', | ||||
|         'info_dict': { | ||||
|             'id': '4492099', | ||||
|             'title': 'Real Madrid - Chelsea 1-1', | ||||
|             'display_id': 'real-madrid-chelsea-1-1', | ||||
|             'ext': 'mp4', | ||||
|             'thumbnail': 'https://m4sport.hu/wp-content/uploads/sites/4/2021/04/Sequence-01.Still001-1024x576.png', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to 404 page', | ||||
|     }, { | ||||
|         # (old) hirado | ||||
|         'url': 'https://hirado.hu/videok/felteteleket-szabott-a-fovaros/', | ||||
|         'info_dict': { | ||||
|             'id': '4760120', | ||||
|             'title': 'Feltételeket szabott a főváros', | ||||
|             'ext': 'mp4', | ||||
|             'thumbnail': 'http://hirado.hu/wp-content/uploads/sites/4/2021/09/vlcsnap-2021-09-01-20h20m37s165.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to video list page', | ||||
|     }, { | ||||
|         # hirado | ||||
|         'url': 'https://hirado.hu/belfold/video/2023/09/11/marad-az-eves-elszamolas-a-napelemekre-beruhazo-csaladoknal', | ||||
|         'url': 'https://hirado.hu/video/2025/08/09/idojaras-jelentes-2025-augusztus-9-2230', | ||||
|         'info_dict': { | ||||
|             'id': '6716068', | ||||
|             'title': 'Marad az éves elszámolás a napelemekre beruházó családoknál', | ||||
|             'display_id': 'marad-az-eves-elszamolas-a-napelemekre-beruhazo-csaladoknal', | ||||
|             'id': '8592033', | ||||
|             'title': 'Időjárás-jelentés, 2025. augusztus 9. 22:30', | ||||
|             'display_id': 'idojaras-jelentes-2025-augusztus-9-2230', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20230911', | ||||
|             'thumbnail': 'https://hirado.hu/wp-content/uploads/sites/4/2023/09/vlcsnap-2023-09-11-09h16m09s882.jpg', | ||||
|             'upload_date': '20250809', | ||||
|             'thumbnail': 'https://cdn.cms.mtv.hu/wp-content/uploads/sites/4/2025/08/Idojaras-jelentes-35-1.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to video list page', | ||||
|     }, { | ||||
|         # (old) petofilive | ||||
|         'url': 'https://petofilive.hu/video/2021/06/07/tha-shudras-az-akusztikban/', | ||||
|         # hirado - subcategory | ||||
|         'url': 'https://hirado.hu/belfold/video/2025/08/09/nyitott-porta-napok-2025/', | ||||
|         'info_dict': { | ||||
|             'id': '4571948', | ||||
|             'title': 'Tha Shudras az Akusztikban', | ||||
|             'id': '8590581', | ||||
|             'title': 'Nyitott Porta Napok 2025', | ||||
|             'display_id': 'nyitott-porta-napok-2025', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20210607', | ||||
|             'thumbnail': 'http://petofilive.hu/wp-content/uploads/sites/4/2021/06/vlcsnap-2021-06-07-22h14m23s915-1024x576.jpg', | ||||
|             'upload_date': '20250809', | ||||
|             'thumbnail': 'https://cdn.cms.mtv.hu/wp-content/uploads/sites/4/2025/08/vlcsnap-2025-08-09-10h35m01s887.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to empty page', | ||||
|     }, { | ||||
|         # petofilive | ||||
|         'url': 'https://petofilive.hu/video/2023/09/09/futball-fesztival-a-margitszigeten/', | ||||
|         'info_dict': { | ||||
|             'id': '6713233', | ||||
|             'title': 'Futball Fesztivál a Margitszigeten', | ||||
|             'display_id': 'futball-fesztival-a-margitszigeten', | ||||
|             'ext': 'mp4', | ||||
|             'upload_date': '20230909', | ||||
|             'thumbnail': 'https://petofilive.hu/wp-content/uploads/sites/4/2023/09/Clipboard11-2.jpg', | ||||
|         }, | ||||
|         'skip': 'Webpage redirects to video list page', | ||||
|     }] | ||||
| 
 | ||||
|     def _real_extract(self, url): | ||||
| @@ -133,9 +77,8 @@ class MediaKlikkIE(InfoExtractor): | ||||
|         display_id = mobj.group('id') | ||||
|         webpage = self._download_webpage(url, display_id) | ||||
| 
 | ||||
|         player_data_str = self._html_search_regex( | ||||
|             r'mtva_player_manager\.player\(document.getElementById\(.*\),\s?(\{.*\}).*\);', webpage, 'player data') | ||||
|         player_data = self._parse_json(player_data_str, display_id, urllib.parse.unquote) | ||||
|         player_data = self._search_json( | ||||
|             r'loadPlayer\((?:\s*["\'][^"\']+["\']\s*,)?', webpage, 'player data', mobj) | ||||
|         video_id = str(player_data['contentId']) | ||||
|         title = player_data.get('title') or self._og_search_title(webpage, fatal=False) or \ | ||||
|             self._html_search_regex(r'<h\d+\b[^>]+\bclass="article_title">([^<]+)<', webpage, 'title') | ||||
| @@ -146,7 +89,7 @@ class MediaKlikkIE(InfoExtractor): | ||||
|             upload_date = unified_strdate(self._html_search_regex( | ||||
|                 r'<p+\b[^>]+\bclass="article_date">([^<]+)<', webpage, 'upload date', default=None)) | ||||
| 
 | ||||
|         player_data['video'] = player_data.pop('token') | ||||
|         player_data['video'] = urllib.parse.unquote(player_data.pop('token')) | ||||
|         player_page = self._download_webpage( | ||||
|             'https://player.mediaklikk.hu/playernew/player.php', video_id, | ||||
|             query=player_data, headers={'Referer': url}) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 zhallgato
					zhallgato