diff options
| author | Allen <64094914+allendema@users.noreply.github.com> | 2024-05-23 23:21:58 +0000 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarIT.de> | 2024-05-29 17:56:17 +0200 |
| commit | 0fa81fc782feb104bbd6616d87a6f441aad7d5bd (patch) | |
| tree | 4fd2f697240307d616f8b49614787852e5923fc4 /searx/engines/youtube_noapi.py | |
| parent | 0fb3f0e4aeecf62612cb6568910cf0f97c98cab9 (diff) | |
[enh] add re-usable func to filter text
Diffstat (limited to 'searx/engines/youtube_noapi.py')
| -rw-r--r-- | searx/engines/youtube_noapi.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/searx/engines/youtube_noapi.py b/searx/engines/youtube_noapi.py index b015dff8d..c2136c3ca 100644 --- a/searx/engines/youtube_noapi.py +++ b/searx/engines/youtube_noapi.py @@ -7,6 +7,8 @@ from functools import reduce from json import loads, dumps from urllib.parse import quote_plus +from searx.utils import extr + # about about = { "website": 'https://www.youtube.com/', @@ -109,8 +111,8 @@ def parse_next_page_response(response_text): def parse_first_page_response(response_text): results = [] - results_data = response_text[response_text.find('ytInitialData') :] - results_data = results_data[results_data.find('{') : results_data.find(';</script>')] + results_data = extr(response_text, 'ytInitialData = ', ';</script>') + results_json = loads(results_data) if results_data else {} sections = ( results_json.get('contents', {}) |