Pour ceux qui connaissent wget
, il a une option --spider
, qui permet de vérifier si un lien est cassé ou non, sans réellement télécharger la page web. Je voudrais faire la même chose en Python. Mon problème est que j'ai une liste de 100'000 liens que je veux vérifier, au plus une fois par jour, et au moins une fois par semaine. En tout cas, cela va générer beaucoup de trafic inutile.Vérifier si un lien est mort ou ne pas utiliser Python sans télécharger la page web
Pour autant que je comprends du urllib2.urlopen()
documentation, il ne télécharge pas la page mais seulement la méta-information. Est-ce correct? Ou y a-t-il un autre moyen de le faire d'une manière agréable?
Best,
Troels
À droite, HEAD vous obtiendra les en-têtes (y compris le statut HTTP) sans télécharger le corps du message. Certains sites sont (mal) configurés pour envoyer des pages "non trouvées"/404 avec un statut de 200, donc, il serait difficile de détecter ces situations. – JAL
Pour autant que je sache, c'est ce que fait wget --spider. –
Merci beaucoup pour la solution ainsi que pour les réflexions sur les sites mal configurés (ça vaut le coup de se souvenir!) - c'est exactement ce dont j'ai besoin :) – Troels