(Re-)Add YoutubeSearchURLIE
https://github.com/ytdl-org/youtube-dl/pull/27749 (@pukkandan) Code taken from: https://github.com/pukkandan/yt-dlc Enable tests
This commit is contained in:
parent
cebc7be09a
commit
f04341939d
@ -66,9 +66,9 @@ class TestAllURLsMatching(unittest.TestCase):
|
||||
self.assertMatch('https://www.youtube.com/feed/watch_later', ['youtube:tab'])
|
||||
self.assertMatch('https://www.youtube.com/feed/subscriptions', ['youtube:tab'])
|
||||
|
||||
# def test_youtube_search_matching(self):
|
||||
# self.assertMatch('http://www.youtube.com/results?search_query=making+mustard', ['youtube:search_url'])
|
||||
# self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video', ['youtube:search_url'])
|
||||
def test_youtube_search_matching(self):
|
||||
self.assertMatch('http://www.youtube.com/results?search_query=making+mustard', ['youtube:search_url'])
|
||||
self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video', ['youtube:search_url'])
|
||||
|
||||
def test_facebook_matching(self):
|
||||
self.assertTrue(FacebookIE.suitable('https://www.facebook.com/Shiniknoh#!/photo.php?v=10153317450565268'))
|
||||
|
@ -1611,7 +1611,7 @@ from .youtube import (
|
||||
YoutubeRecommendedIE,
|
||||
YoutubeSearchDateIE,
|
||||
YoutubeSearchIE,
|
||||
#YoutubeSearchURLIE,
|
||||
YoutubeSearchURLIE,
|
||||
YoutubeSubscriptionsIE,
|
||||
YoutubeTruncatedIDIE,
|
||||
YoutubeTruncatedURLIE,
|
||||
|
@ -2008,7 +2008,7 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor):
|
||||
(?:
|
||||
(?:channel|c|user|feed|hashtag)/|
|
||||
(?:playlist|watch)\?.*?\blist=|
|
||||
(?!(?:watch|embed|v|e)\b)
|
||||
(?!(?:watch|embed|v|e|results)\b)
|
||||
)
|
||||
(?P<id>[^/?\#&]+)
|
||||
'''
|
||||
@ -3085,11 +3085,10 @@ class YoutubeSearchDateIE(YoutubeSearchIE):
|
||||
_SEARCH_PARAMS = 'CAI%3D'
|
||||
|
||||
|
||||
r"""
|
||||
class YoutubeSearchURLIE(YoutubeSearchIE):
|
||||
IE_DESC = 'YouTube.com search URLs'
|
||||
IE_NAME = 'youtube:search_url'
|
||||
_VALID_URL = r'https?://(?:www\.)?youtube\.com/results\?(.*?&)?(?:search_query|q)=(?P<query>[^&]+)(?:[&]|$)'
|
||||
_VALID_URL = r'https?://(?:www\.)?youtube\.com/results\?(.*?&)?(?:search_query|q)=(?:[^&]+)(?:[&]|$)'
|
||||
_TESTS = [{
|
||||
'url': 'https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video',
|
||||
'playlist_mincount': 5,
|
||||
@ -3101,9 +3100,20 @@ class YoutubeSearchURLIE(YoutubeSearchIE):
|
||||
'only_matching': True,
|
||||
}]
|
||||
|
||||
@classmethod
|
||||
def _make_valid_url(cls):
|
||||
return cls._VALID_URL
|
||||
|
||||
def _real_extract(self, url):
|
||||
qs = compat_parse_qs(compat_urllib_parse_urlparse(url).query)
|
||||
query = (qs.get('search_query') or qs.get('q'))[0]
|
||||
self._SEARCH_PARAMS = qs.get('sp', ('',))[0]
|
||||
return self._get_n_results(query, self._MAX_RESULTS)
|
||||
r"""
|
||||
mobj = re.match(self._VALID_URL, url)
|
||||
query = compat_urllib_parse_unquote_plus(mobj.group('query'))
|
||||
# url_result(url, ie=None, video_id=None, video_title=None)
|
||||
#_SEARCH_KEY='ytsearch'+ ()
|
||||
webpage = self._download_webpage(url, query)
|
||||
return self.playlist_result(self._process_page(webpage), playlist_title=query)
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user