Merge pull request #504 from Dreyfi/fix-403-error-pexels-request

Fix the response 403 from pexels - search_videos_pexels - failed to download videos, maybe the network is not available. if you are in China, please use a VPN.
This commit is contained in:
Harry
2024-11-20 15:44:46 +08:00
committed by GitHub

View File

@@ -40,7 +40,10 @@ def search_videos_pexels(
video_orientation = aspect.name video_orientation = aspect.name
video_width, video_height = aspect.to_resolution() video_width, video_height = aspect.to_resolution()
api_key = get_api_key("pexels_api_keys") api_key = get_api_key("pexels_api_keys")
headers = {"Authorization": api_key} headers = {
"Authorization": api_key,
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
}
# Build URL # Build URL
params = {"query": search_term, "per_page": 20, "orientation": video_orientation} params = {"query": search_term, "per_page": 20, "orientation": video_orientation}
query_url = f"https://api.pexels.com/videos/search?{urlencode(params)}" query_url = f"https://api.pexels.com/videos/search?{urlencode(params)}"
@@ -158,11 +161,15 @@ def save_video(video_url: str, save_dir: str = "") -> str:
logger.info(f"video already exists: {video_path}") logger.info(f"video already exists: {video_path}")
return video_path return video_path
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
}
# if video does not exist, download it # if video does not exist, download it
with open(video_path, "wb") as f: with open(video_path, "wb") as f:
f.write( f.write(
requests.get( requests.get(
video_url, proxies=config.proxy, verify=False, timeout=(60, 240) video_url, headers=headers, proxies=config.proxy, verify=False, timeout=(60, 240)
).content ).content
) )