CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Erreur scrapping python (urllib)

sumadartson
sumadartson
Niveau 3
27 avril 2020 à 12:49:05

Salut, je suis entrain de faire un code de scrapping en python .
A un moment il télécharge des clips sur twitch, ça fonctionne sauf qu'à un moment ça tombe sur un clip indisponible (il est indisponible même en y allant moi même).

Les lignes de téléchargement :

chemin = "clips/" + ps + "/" + c + ".mp4"
urllib.request.urlretrieve(dlUrl, chemin)

Quand ça arrive au clip indisponible j'ai cette erreur : urllib.error.HTTPError: HTTP Error 403: Forbidden

Ma question du coup c'est comment est ce que je peux, avant de télécharger le fichier, savoir que je vais avoir cette erreur et l'éviter, avec une condition par exemple.

J'ai essayé ça :


chemin = "clips/" + ps + "/" + c + ".mp4"
req = urllib.request.urlopen(dlUrl)
if req.getcode() == 200:
    urllib.request.urlretrieve(dlUrl, chemin)
else:
    print("Le clip n'est pas disponible .")

Mais ça change rien .

Message édité le 27 avril 2020 à 12:50:47 par sumadartson
MonsieurBeauf
MonsieurBeauf
Niveau 10
27 avril 2020 à 13:28:29

https://stackoverflow.com/questions/13303449/urllib2-httperror-http-error-403-forbidden

sumadartson
sumadartson
Niveau 3
27 avril 2020 à 14:13:43

Le 27 avril 2020 à 13:28:29 MonsieurBeauf a écrit :
https://stackoverflow.com/questions/13303449/urllib2-httperror-http-error-403-forbidden

Merci pour ta réponse.
J'ai vu ce genre de solution mais je suis pas sur que ce soit ce qu'il me faut.
Je suis retourné sur la page twitch ou les clips étaient indispo a cause d'un bug du site mais cette fois je pouvais y accéder, alors j'ai lancé mon script et ça a fonctionné.
Mais peut être que ce bug va revenir sur une autre page mais vu qu'elle est pas du a mon code et que je sais pas pourquoi la page bugé beh je sais pas comment adapter mon code.
J'ai voulu essayer avec try mais je sais pas comment lire l'erreur.

Message édité le 27 avril 2020 à 14:15:38 par sumadartson
blackapplex
blackapplex
Niveau 10
27 avril 2020 à 16:05:07

Savoir l'erreur avant qu'elle n'arrive ça me parait compliqué.
Tu peux cependant regarder la syntaxe de try oui, mais ça ne marche que si urllib te renvoit une exception.
https://docs.python.org/3/tutorial/errors.html
Oublie pas d'enregistrer les URL que t'as déjà scrap pour pas y retourner, et de mettre des délais entre tes requêtes. Des scrappers trop agressifs peuvent facilement se faire bloquer

sumadartson
sumadartson
Niveau 3
28 avril 2020 à 21:17:06

Le 27 avril 2020 à 16:05:07 blackapplex a écrit :
Savoir l'erreur avant qu'elle n'arrive ça me parait compliqué.
Tu peux cependant regarder la syntaxe de try oui, mais ça ne marche que si urllib te renvoit une exception.
https://docs.python.org/3/tutorial/errors.html
Oublie pas d'enregistrer les URL que t'as déjà scrap pour pas y retourner, et de mettre des délais entre tes requêtes. Des scrappers trop agressifs peuvent facilement se faire bloquer

Je vais essayer ça merci ...
C'est exactement ce que je suis entrain de faire :ok:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment