Urllib : erreur 403 sur un site

Résolu
cs_perrierbertrand Messages postés 40 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,

j'ai un problème avec urllib

>>> a=urllib.request.urlopen("https://www.free.fr").read()
>>> a=urllib.request.urlopen("https://www.allocine.fr/dvd/nouveau").read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

avec free.fr ça fonctionne mais pas avec la page https://www.allocine.fr/dvd/nouveau/

est-ce que ça fonctionne chez vous ? ais-je été blacklisté ?

merci


Linux / Firefox 108.0


3 réponses

  1. xHaMaz Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   18
     

    Bonjour,

    Y'a des sites qui utilise des mécanismes de protection contre les requêtes automatisées et bloque les requêtes provenant des scripts.

    0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour, j'obtiens aussi cette erreur 403.

    0
  3. cs_perrierbertrand Messages postés 40 Statut Membre 1
     

    merci pour vos réponse

    la solution est de préciser l'user agent dans urllib

    request_site = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    code_page_html = urllib.request.urlopen(request_site).read()
    

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      peux-tu alors marquer la discussion comme résolue?

      0