Browse Source

[fix] engine: youtube_api - ignore channels / prevent exceptions

`youtube_api.py` throws an exception if the search results contain a channel, as
channels have no videoId.  This PR adds a keycheck for parsing the json response.
singletail 1 year ago
parent
commit
1746eecf2b
1 changed files with 4 additions and 0 deletions
  1. 4 0
      searx/engines/youtube_api.py

+ 4 - 0
searx/engines/youtube_api.py

@@ -56,6 +56,10 @@ def response(resp):
 
 
     # parse results
     # parse results
     for result in search_results['items']:
     for result in search_results['items']:
+        if "videoId" not in result["id"]:
+            # ignore channels
+            continue
+
         videoid = result['id']['videoId']
         videoid = result['id']['videoId']
 
 
         title = result['snippet']['title']
         title = result['snippet']['title']