mirror of
https://github.com/ytdl-org/youtube-dl
synced 2024-12-23 12:40:11 +09:00
Automatically obtain NextJS buildId and change item to video-item
This commit is contained in:
parent
6de650f51f
commit
c748eca829
@ -221,13 +221,14 @@ class SchoolTVIE(NPOIE):
|
|||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
video_id = url.rstrip('/').split('/')[-1]
|
video_id = url.rstrip('/').split('/')[-1]
|
||||||
|
|
||||||
# TODO Find out how we could obtain this automatically
|
build_id = self._search_nextjs_data(
|
||||||
# Otherwise this extractor might break each time SchoolTV deploys a new release
|
self._download_webpage(url, video_id),
|
||||||
build_id = 'b7eHUzAVO7wHXCopYxQhV'
|
video_id,
|
||||||
|
)['buildId']
|
||||||
|
|
||||||
metadata_url = 'https://schooltv.nl/_next/data/' \
|
metadata_url = 'https://schooltv.nl/_next/data/' \
|
||||||
+ build_id \
|
+ build_id \
|
||||||
+ '/item/' \
|
+ '/video-item/' \
|
||||||
+ video_id + '.json'
|
+ video_id + '.json'
|
||||||
|
|
||||||
metadata = self._download_json(metadata_url,
|
metadata = self._download_json(metadata_url,
|
||||||
@ -304,7 +305,7 @@ class VPROIE(NPOIE):
|
|||||||
formats = []
|
formats = []
|
||||||
for result in results:
|
for result in results:
|
||||||
formats.extend(self._extract_formats_by_product_id(result, video_id))
|
formats.extend(self._extract_formats_by_product_id(result, video_id))
|
||||||
break # TODO find a better solution, VPRO pages can have multiple videos embedded
|
break
|
||||||
|
|
||||||
if not formats:
|
if not formats:
|
||||||
raise ExtractorError('Could not find a POMS product id in the provided URL, '
|
raise ExtractorError('Could not find a POMS product id in the provided URL, '
|
||||||
|
Loading…
Reference in New Issue
Block a user