[Python-es] Obtener información de una web

11 views
Skip to first unread message

Oscar Martinez

unread,
May 27, 2012, 6:32:02 AM5/27/12
to pyth...@python.org
Buenas a tod@s,

Este es mi primer mensaje en la lista pero seguro que no será el último, ya que conozco python pero a un nivel básico. Aún me estoy leyendo el libro "Python para todos".

Bueno, al grano, estoy jugando con python intentando obtener información de un web, de momento, lo único que he conseguido es que me devuelva la dirección IP de una web mediante:
print (socket.gethostbyname_ex('www.web.com')) ¿Esta es la manera correcta o hay otra?

Hasta aquí todo bien, pero claro, ahora me gustaría saber por ejemplo el sistema operativo en el que corre entre otros datos. Me gustaría que alguien me dijera que debo de utilizar ya que estoy mirando por varios foros en inglés y en la propia documentación y no veo lo que quiero. Sé que puedo obtener información de mi máquina, os, etc, pero ¿y de una web?

Saludos y muchas gracias,

Rock Neurotiko

unread,
May 27, 2012, 6:47:25 AM5/27/12
to La lista de python en castellano
Hola!

Hay un modo sencillo con el que puedes obtener informacion de una pagina web, y es usando el modulo urllib2

Seria algo asi:

import urllib2

page = urllib2.urlopen("http://www.loquesea.com")

page.headers.items()

Con esto veras las cabeceras que envia la pagina al enviar una peticion GET, y entre las headers tienes uno que se llama Server donde está el S.O (en la mayoria de los casos) y el servidor donde corre.

Espero que te sirva ;-)

_______________________________________________
Python-es mailing list
Pyth...@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/




--
Miguel García Lafuente - Rock Neurotiko
Vocal de la Junta Directiva Nacional del Partido Pirata.
Coordinador de Jóvenes Piratas en Madrid.

"Libertad en lugar de miedo." - "Información libre, sociedad libre."

El contenido de este e-mail es privado, no se permite la revelacion del contenido de este e-mail a gente ajena a él.

Oscar Martinez

unread,
May 27, 2012, 7:31:55 AM5/27/12
to La lista de python en castellano
Buenas

La verdad es que me ha servido en parte. Sólo comentar dos cosas.
La primera es que uso Python 3, se me olvido decirlo jeje y claro, urllib2 no esta... pero bueno, gracias a tu ayuda y adaptandolo a python 3 lo he realizado así:

web = (urllib.request.urlopen("http://www.web.com"));
print(web.headers.items())

Bueno, la segunda cosa es que sí, efectivamente me devuelve el servidor en el que corre, por ejemplo Apache, pero no me devuelve el s.o
¿No hay manera de conseguirlo? Sería interesante poder saber si corre bajo Windows o bajo Linux y sobre que distribución concretamente. ¿Es mucho pedir quizas? jeje

Saludos y gracias una vez más :)

Rock Neurotiko

unread,
May 27, 2012, 7:40:09 AM5/27/12
to La lista de python en castellano
Pues en Python 3 no se como será, la verdad, porque no lo uso, pero con urllib2, en el header a veces, ves el servidor y el S.O.

Lo cierto es que nunca lo habia necesitado saber con un codigo, asi que no tengo ni idea mas alla de lo que te he comentado..

Lo siento, y a ver si alguien lo sabe ;-)

Andrey Antoukh

unread,
May 27, 2012, 7:54:42 AM5/27/12
to La lista de python en castellano
La información que te retorna en los headers es la que el servidor proporciona, no puedes ver mas allá de lo que el servidor enseña.
Para averiguar de una forma el So entre otras cosas debes usar herramientas como nmap, que no tienen nada que ver con python.

Python es un lenguaje de programacion, no una herramienta de escaneo y análisis. Conseguir saber el SO si el servidor no lo muestra públicamente no es una tarea
simple, ya que requiere análisis de bajo nivel de los paquetes tcp que se estan mandando, entre otras cosas.

Andrei.
Andrei Antoukh - <ni...@niwi.be>
http://www.niwi.be/page/about/
http://www.kaleidos.net/A5694F/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"

Oscar Martinez

unread,
May 27, 2012, 9:50:22 AM5/27/12
to La lista de python en castellano
Sí, conozco nmap.
Yo simplemente estaba practicando con el tema de abrir urls y se me ocurrió mostrar información de una url. Por eso con mostrar el servidor, el so y poco más me bastaba.

Muchas gracias por la ayuda prestada ;-)

PD: Cada día me gusta más python :D

Andrey Antoukh

unread,
May 27, 2012, 9:58:50 AM5/27/12
to La lista de python en castellano
Me alegro que te sientas cómodo con el lenguaje, y buena elección por empezar con python3.

Andrei.
Reply all
Reply to author
Forward
0 new messages