Rastreadores web de Python y código fuente html “get”

Así que mi hermano quería que escribiera un rastreador web en Python (autodidacta) y conozco C ++, Java y un poco de html. Estoy usando la versión 2.7 y leyendo la biblioteca de python, pero tengo algunos problemas 1. httplib.HTTPConnection y el concepto de request para mí es nuevo y no entiendo si descarga un script html como una cookie o una instancia. Si hace ambas cosas, ¿obtiene la fuente para una página web? ¿Y cuáles son algunas palabras que necesitaría saber para modificar la página y devolver la página modificada?

Solo para el fondo, necesito descargar una página y reemplazar cualquier img con los que tengo

Y sería bueno si me pudieran decir su opinión de 2.7 y 3.1.

Use Python 2.7, tiene más librerías de terceros en este momento. ( Editar: ver más abajo).

Le recomiendo que use el módulo urllib2 , le permitirá obtener recursos web cómodamente. Ejemplo:

 import urllib2 response = urllib2.urlopen("http://google.de") page_source = response.read() 

Para analizar el código, eche un vistazo a BeautifulSoup .

BTW: qué es exactamente lo que quieres hacer:

Solo para el fondo, necesito descargar una página y reemplazar cualquier img con los que tengo

Edición: es 2014 ahora, la mayoría de las bibliotecas importantes se han portado, y definitivamente debería usar Python 3 si puede. python-requests es una biblioteca de alto nivel muy agradable que es más fácil de usar que urllib2 .

Un ejemplo con python3 y la biblioteca de requests como lo menciona @leoluk:

 pip install requests 

Script req.py:

 import requests url='http://localhost' # in case you need a session cd = { 'sessionid': '123..'} r = requests.get(url, cookies=cd) # or without a session: r = requests.get(url) r.content 

Ahora, ejecútalo y obtendrás la fuente html de localhost!

python3 req.py

Lo primero que debe hacer es leer la especificación de HTTP, que explicará lo que puede esperar recibir a través del cable. Los datos devueltos dentro del contenido serán la página web “representada”, no la fuente. La fuente podría ser un JSP, un servlet, un script CGI, en resumen, casi cualquier cosa, y usted no tiene acceso a eso. Solo obtienes el HTML que el servidor te envió. En el caso de una página HTML estática, entonces sí, verá la “fuente”. Pero para cualquier otra cosa puedes ver el HTML generado, no la fuente.

Cuando dice modify the page and return the modified page ¿qué quiere decir?