urllib2.HTTPError: Erreur HTTP 404: Pas Trouvé pour l'url valide
Je suis à l'aide d'un python opengraph de la bibliothèque pour analyser un site web balises opengraph https://github.com/erikriver/opengraph.
import opengraph
url = 'http://www.foxnews.com/world/2014/10/20/uk-gun-owners-now-subject-to-warrantless-home-searches/'
og = opengraph.OpenGraph(url=url)
print og.to_json()
Lorsque j'exécute ce script, j'obtiens l'erreur suivante
Traceback (most recent call last):
File "test.py", line 16, in <module>
raw = urllib2.urlopen(url)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
urllib2 est utilisé sous le capot pour saisir le html avant de elle est analysée https://github.com/erikriver/opengraph/blob/master/opengraph/opengraph.py#L50-L52
Pourquoi je reçois ce message d'erreur 404? Je peux accéder à cette url dans mon navigateur et récupérer aussi l'open graph tags pour cette url à l'aide de cette bibliothèque php https://github.com/scottmac/opengraph.
La bibliothèque python est capable de récupérer l'open graph tags pour tous les autres url, mais cette url semble être une anomalie.
Vous devez vous connecter pour publier un commentaire.
Mis à jour à:
Vous obtenez un 404 réponse parce que votre demande n'a pas adopté une user-agent.
À peine installé opengraph sur virtualenv pour le tester, il fonctionne après l'ajout manquant user-agent dans en-tête: