sur une base aléatoire obtenir des erreurs Http aléatoires tout en essayant d'obtenir des commentaires de vidéos prédéfinies avec YouTube API v3 sur Python. Le cas: donner la liste des identifiants vidéo et des commentaires sont téléchargés pour chacun jusqu'à ce que python renvoie une erreur, et le processus s'arrête. Si je recharge le programme, il peut être coincé sur le même ou sur une autre vidéo et sur des commentaires différents. Erreurs allant de 40 * à 500 ainsi sur une base aléatoire. Je ai essayé de mettre du code dans essayer, mais n'a pas aidé. Tout ce que je peux faire d'autre que de se souvenir de l'ID de la dernière vidéo mise au rebut et de recharger le programme manuellement? Le code:Random Http erreur lors de l'utilisation de Youtube api pour obtenir des commentaires via Python
import httplib2
import urllib2
import os
import sys
import pandas as pd
from apiclient.discovery import build_from_document
from apiclient.discovery import build
from apiclient.errors import HttpError
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage
from oauth2client.tools import argparser, run_flow
DEVELOPER_KEY = "---"
CLIENT_SECRETS_FILE = "client_secrets.json"
YOUTUBE_READ_WRITE_SSL_SCOPE = "https://www.googleapis.com/auth/youtube.force-ssl"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
listL = list()
listL.append("D0uEXoL04OM")
listL.append("eX8-g9wM_Sc")
listL.append("aKInxyP5l7k")
listL.append("vMp__taMQtE")
listL.append("Zd3qcqGKbYA")
listL.append("69sg2o2phVs")
listL.append("QcGhVY3ieu4")
listL.append("t4QhJOFo2S0")
listL.append("NeJPr6ko2Hk")
listL.append("15ka3dFn6LI")
listL.append("hweA36OyxRM")
listL.append("ZmCv5HJJPqQ")
listL.append("zfi5DamYZxA")
listL.append("x7O3GVAqCio")
listL.append("kAbhm5NJTz8")
listL.append("7URzyREVdao")
def comment_threads_list_by_video_id(service, part, video_id):
res = service.commentThreads().list(
part=part,
videoId=video_id,
maxResults="100",
).execute()
nextPageToken = res.get('nextPageToken')
while ('nextPageToken' in res):
nextPage = service.commentThreads().list(
part="snippet",
videoId=video_id,
maxResults="100",
pageToken=nextPageToken
).execute()
res['items'] = res['items'] + nextPage['items']
if 'nextPageToken' not in nextPage:
res.pop('nextPageToken', None)
else:
nextPageToken = nextPage['nextPageToken']
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, developerKey=DEVELOPER_KEY)
for item in listL:
try:
print item
comment_threads_list_by_video_id(youtube, 'snippet, replies', item)
except urllib2.HTTPError, err:
print "Http Error happened"
pass
except urllib2.URLError, err:
print "Some other error happened:", err.reason
pass
EDIT: -------------------------- Peu d'erreurs
HttpError: <HttpError 400 when requesting https://www.googleapis.com/youtube/v3/commentThreads?pageToken=ChYQpqWd6pfYzgIYyISxrpfYzgIgACgcEhQIABDIhLGul9jOAhiQgZuP9IfOAhgCIO4VKJHr35vwuKix-gE%3D&part=snippet&key=AIzaSyBzExhLoWbeHU1iKHZuaYV7IBPJNiyaDkE&alt=json&videoId=D0uEXoL04OM&maxResults=100 returned "The API server failed to successfully process the request. While this can be a transient error, it usually indicates that the requests input is invalid. Check the structure of the <code>commentThread</code> resource in the request body to ensure that it is valid.">
veuillez également poster quelques exemples d'erreurs que vous obtenez avec les textes d'erreur pertinents. –
Est-il possible que vous atteigniez simplement la limite de demandes par seconde de l'API v3? – Av4t4r
Salut merci pour le commentaire, maintenant je reçois seulement 'http 400 erreur' sur une base aléatoire, que je n'ai pas eu avant, peut-être demain au cours de la journée un peu différente apparaîtra. – Darius