Python Web Crawlers et "obtenir" le code source html
Donc, mon frère m'a demandé d'écrire un crawler web en Python (autodidacte) et je sais que C++, Java, et un peu de code html. J'utilise la version 2.7 et la lecture de la bibliothèque python, mais j'ai quelques problèmes
1. httplib.HTTPConnection
et request
concept pour moi, c'est nouveau et je ne comprends pas si il télécharge un script html comme le cookie ou une instance. Si vous faites les deux, vous obtenez le source d'une page web? Et ce sont quelques-uns des mots que j'aurais besoin de savoir pour modifier la page et revenir à la page modifiée.
Juste pour le fond, j'ai besoin de télécharger une page et remplacer toute img avec ceux que j'ai
Et il serait bien si vous les gars pourrait me dire votre avis de 2,7 et 3,1
source d'informationauteur Dan
Vous devez vous connecter pour publier un commentaire.
l'Utilisation de Python 2.7, est a plus 3e partie libs pour le moment.(Edit: voir ci-dessous).Je vous recommandons d'utiliser le stdlib module
urllib2
il vous permettra d'arriver facilement à des ressources web.Exemple:
De l'analyse du code, avoir un regard sur
BeautifulSoup
.BTW: exactement ce que vous voulez faire:
Edit: C'est en 2014 maintenant, la plupart des bibliothèques importantes ont été portés, et vous devriez certainement utiliser Python 3 si vous le pouvez.
python-demande
est une très belle bibliothèque de haut niveau qui est plus facile à utiliser queurllib2
.Un Exemple avec
python3
et larequests
de la bibliothèque, comme mentionné par @leoluk:Script req.py:
Maintenant,exécutez-le et vous obtiendrez le code source html de localhost!
python3 req.py
La première chose que vous devez faire est de lire le HTTP spec qui expliquera ce à quoi vous pouvez vous attendre à recevoir sur le fil. Les données retournées à l'intérieur le contenu sera le "rendu" de la page web, et non la source. La source pourrait être une JSP, servlet, un script CGI, bref, à peu près tout, et vous n'avez pas accès à cela. Vous obtenez seulement le code HTML que le serveur vous a envoyé. Dans le cas d'une page HTML statique, alors oui, vous allez voir la "source". Mais pour rien au monde vous voyez le code HTML généré, et non la source.
Quand vous dites
modify the page and return the modified page
que voulez-vous dire?