Urllib : erreur 403 sur un site

Résolu
cs_perrierbertrand Messages postés 40 Statut Membre -  
yg_be Messages postés 24281 Statut Contributeur -

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

xHaMaz Messages postés 123 Statut Membre 17
 

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
yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 

bonjour, j'obtiens aussi cette erreur 403.

0
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
yg_be Messages postés 24281 Statut Contributeur 1 584
 

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

0