|
|
@ -89,8 +89,8 @@ class NextMediaActionNewsIE(NextMediaIE):
|
|
|
|
return self._extract_from_nextmedia_page(news_id, url, article_page)
|
|
|
|
return self._extract_from_nextmedia_page(news_id, url, article_page)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AppleDailyRealtimeNewsIE(NextMediaIE):
|
|
|
|
class AppleDailyIE(NextMediaIE):
|
|
|
|
_VALID_URL = r'http://(www|ent).appledaily.com.tw/(realtimenews|enews)/[^/]+/[^/]+/(?P<date>\d+)/(?P<id>\d+)(/.*)?'
|
|
|
|
_VALID_URL = r'http://(www|ent).appledaily.com.tw/(animation|realtimenews|enews)/[^/]+/[^/]+/(?P<date>\d+)/(?P<id>\d+)(/.*)?'
|
|
|
|
_TESTS = [{
|
|
|
|
_TESTS = [{
|
|
|
|
'url': 'http://ent.appledaily.com.tw/enews/article/entertainment/20150128/36354694',
|
|
|
|
'url': 'http://ent.appledaily.com.tw/enews/article/entertainment/20150128/36354694',
|
|
|
|
'md5': 'a843ab23d150977cc55ef94f1e2c1e4d',
|
|
|
|
'md5': 'a843ab23d150977cc55ef94f1e2c1e4d',
|
|
|
@ -99,7 +99,7 @@ class AppleDailyRealtimeNewsIE(NextMediaIE):
|
|
|
|
'ext': 'mp4',
|
|
|
|
'ext': 'mp4',
|
|
|
|
'title': '周亭羽走過摩鐵陰霾2男陪吃 九把刀孤寒看醫生',
|
|
|
|
'title': '周亭羽走過摩鐵陰霾2男陪吃 九把刀孤寒看醫生',
|
|
|
|
'thumbnail': 're:^https?://.*\.jpg$',
|
|
|
|
'thumbnail': 're:^https?://.*\.jpg$',
|
|
|
|
'description': 'md5:b23787119933404ce515c6356a8c355c',
|
|
|
|
'description': 'md5:2acd430e59956dc47cd7f67cb3c003f4',
|
|
|
|
'upload_date': '20150128',
|
|
|
|
'upload_date': '20150128',
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, {
|
|
|
|
}, {
|
|
|
@ -110,26 +110,10 @@ class AppleDailyRealtimeNewsIE(NextMediaIE):
|
|
|
|
'ext': 'mp4',
|
|
|
|
'ext': 'mp4',
|
|
|
|
'title': '不滿被踩腳 山東兩大媽一路打下車',
|
|
|
|
'title': '不滿被踩腳 山東兩大媽一路打下車',
|
|
|
|
'thumbnail': 're:^https?://.*\.jpg$',
|
|
|
|
'thumbnail': 're:^https?://.*\.jpg$',
|
|
|
|
'description': 'md5:2648aaf6fc4f401f6de35a91d111aa1d',
|
|
|
|
'description': 'md5:175b4260c1d7c085993474217e4ab1b4',
|
|
|
|
'upload_date': '20150128',
|
|
|
|
'upload_date': '20150128',
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}]
|
|
|
|
}, {
|
|
|
|
|
|
|
|
|
|
|
|
_URL_PATTERN = r'\{url: \'(.+)\'\}'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_title(self, page):
|
|
|
|
|
|
|
|
return self._html_search_regex(r'<h1 id="h1">([^<>]+)</h1>', page, 'news title')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_thumbnail(self, page):
|
|
|
|
|
|
|
|
return self._html_search_regex(r"setInitialImage\(\'([^']+)'\)", page, 'video thumbnail', fatal=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_timestamp(self, page):
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AppleDailyAnimationNewsIE(AppleDailyRealtimeNewsIE):
|
|
|
|
|
|
|
|
_VALID_URL = 'http://www.appledaily.com.tw/animation/[^/]+/[^/]+/(?P<date>\d+)/(?P<id>\d+)(/.*)?'
|
|
|
|
|
|
|
|
_TESTS = [{
|
|
|
|
|
|
|
|
'url': 'http://www.appledaily.com.tw/animation/realtimenews/new/20150128/5003671',
|
|
|
|
'url': 'http://www.appledaily.com.tw/animation/realtimenews/new/20150128/5003671',
|
|
|
|
'md5': '03df296d95dedc2d5886debbb80cb43f',
|
|
|
|
'md5': '03df296d95dedc2d5886debbb80cb43f',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
@ -156,8 +140,17 @@ class AppleDailyAnimationNewsIE(AppleDailyRealtimeNewsIE):
|
|
|
|
]
|
|
|
|
]
|
|
|
|
}]
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_URL_PATTERN = r'\{url: \'(.+)\'\}'
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_title(self, page):
|
|
|
|
def _fetch_title(self, page):
|
|
|
|
return self._html_search_meta('description', page, 'news title')
|
|
|
|
return (self._html_search_regex(r'<h1 id="h1">([^<>]+)</h1>', page, 'news title', default=None) or
|
|
|
|
|
|
|
|
self._html_search_meta('description', page, 'news title'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_thumbnail(self, page):
|
|
|
|
|
|
|
|
return self._html_search_regex(r"setInitialImage\(\'([^']+)'\)", page, 'video thumbnail', fatal=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_timestamp(self, page):
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
def _fetch_description(self, page):
|
|
|
|
def _fetch_description(self, page):
|
|
|
|
return self._html_search_meta('description', page, 'news description')
|
|
|
|
return self._html_search_meta('description', page, 'news description')
|
|
|
|