YouTube Videos.List API имеет радикальные задержки при вызове requests.get ⇐ Python
YouTube Videos.List API имеет радикальные задержки при вызове requests.get
def validate_youtube_video(link:str, sessionid:str) -> Tuple[bool, str]:
# Returns (status, sanitized_link|error_message)
import urllib.parse
res = urllib.parse.urlparse(link)
vidid = None
if res.netloc == 'www.youtube.com' and res.path == '/watch':
queries = res.query.split('&')
for q in queries:
if q.startswith('v='):
vidid = q[2:]
if res.netloc == 'youtu.be':
vidid = res.path[1:]
resp = requests.get(f'https://www.googleapis.com/youtube/v3/v ... =[REDACTED]').json()
if resp['items'] == []:
return (False, 'Invalid ID')
if resp['items'][0]['snippet']['title'] != f'[REDACTED] {sessionid}' or resp['items'][0]['snippet']['description'] != '':
return (False, 'Invalid title or description')
if resp['items'][0]['status']['privacyStatus'] != 'unlisted':
return (False, 'Privacy status is not unlisted')
return (True, f'https://youtu.be/{vidid}')
< /code>
Этот код направлен на вызов YouTube Videos.list API V3, чтобы проверить, требуется ли видео заголовок, описание и статус конфиденциальности для анонимности. Это требует менее 1 секунды в моем браузере (с ключом API), но занимает более 4 минут при вызове с использованием запросов. Кто -нибудь знает почему?
Подробнее здесь: https://stackoverflow.com/questions/796 ... quests-get
def validate_youtube_video(link:str, sessionid:str) -> Tuple[bool, str]:
# Returns (status, sanitized_link|error_message)
import urllib.parse
res = urllib.parse.urlparse(link)
vidid = None
if res.netloc == 'www.youtube.com' and res.path == '/watch':
queries = res.query.split('&')
for q in queries:
if q.startswith('v='):
vidid = q[2:]
if res.netloc == 'youtu.be':
vidid = res.path[1:]
resp = requests.get(f'https://www.googleapis.com/youtube/v3/v ... =[REDACTED]').json()
if resp['items'] == []:
return (False, 'Invalid ID')
if resp['items'][0]['snippet']['title'] != f'[REDACTED] {sessionid}' or resp['items'][0]['snippet']['description'] != '':
return (False, 'Invalid title or description')
if resp['items'][0]['status']['privacyStatus'] != 'unlisted':
return (False, 'Privacy status is not unlisted')
return (True, f'https://youtu.be/{vidid}')
< /code>
Этот код направлен на вызов YouTube Videos.list API V3, чтобы проверить, требуется ли видео заголовок, описание и статус конфиденциальности для анонимности. Это требует менее 1 секунды в моем браузере (с ключом API), но занимает более 4 минут при вызове с использованием запросов. Кто -нибудь знает почему?
Подробнее здесь: https://stackoverflow.com/questions/796 ... quests-get
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему Python httpx.get или Requests.get намного медленнее, чем cURL для этого API?
Anonymous » » в форуме Python - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-