[extractor/tiktok] Fix and improve metadata extraction #6777
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes metadata extraction from video webpages (
_parse_aweme_video_web
):creator
was failing to be extracted (addresses #6483 (comment))thumbnails
were failing to be extractedid
extraction was not fatal, and the value always matched from the URL could easily be passed as an argument to_parse_aweme_video_web
Fixes some potentially fatal metadata extraction from mobile API responses (
_parse_aweme_video_app
):thumbnails
extraction KeyErrored if a Douyin API response was receivedauthor_info = aweme_detail.get('author', {})
should beaweme_detail.get('author') or {}
sinceauthor
can beNone
, etcExtracts the secondary user ID as
channel_id
from both web and app, which will be useful/necessary for aTikTokUserIE
fix (it already would be useful for [extractor/tiktok] Fix TikTokUserIE #4996)Refactors and attempts to improve readability
Adds a webpage-only test case, updates tests
Template
Before submitting a pull request make sure you have:
In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:
What is the purpose of your pull request?