Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Obtener una el nombre del sitio de una URL dada

Estas en el tema de Obtener una el nombre del sitio de una URL dada en el foro de Python en Foros del Web. Hola, no tengo clara la idea incluso aun tampoco tengo claro como nombrar lo que quiero hacer, pero si tengo clara la idea de lo ...
  #1 (permalink)  
Antiguo 05/04/2013, 13:14
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 12 años, 7 meses
Puntos: 7
Obtener una el nombre del sitio de una URL dada

Hola, no tengo clara la idea incluso aun tampoco tengo claro como nombrar lo que quiero hacer, pero si tengo clara la idea de lo que estoy realizando:

Tengo 5 enlaces, puede que diferentes o no, pero la idea es recorrerlos para saber de que sitio son, hagamos el ejemplo con un modelo en Django:

Código:
Class Referencias(models.Model):
    url = models.TextField()
    created_at = models.DateField()

Ingresamos 5 urls en cada linea en el campo url:
http:://www.google.com/lo-que-gustes-32
http:://www.facebook.com/lo-que-gustes-ds
http:://www.forosdelweb.com/lo-que-gustes-a
http:://www.python.com/lo-que-gustes-2
Cada linea puede ser totalmente distinto, ahora lo que estoy tratando de hacer, es que si es una url de "google.com", me imprima el nombre "Google".

Agradezco que me aclaren un poco la idea, así podré buscar bien en google porque estoy seguro que ya existe respuestas a mi pregunta.
  #2 (permalink)  
Antiguo 05/04/2013, 13:55
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Obtener una el nombre del sitio de una URL dada

Código Python:
Ver original
  1. from urlparse import urlparse
  2.  
  3. class Referencias(models.Model):
  4.     url = models.TextField()
  5.     created_at = models.DateField()
  6.  
  7.     def domain(self):
  8.         url = urlparse(self.url)
  9.         return url.hostname.lstrip('www.')

Creo que lo que tratas de hacer es algo parecido a esto.
  #3 (permalink)  
Antiguo 05/04/2013, 14:26
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 12 años, 7 meses
Puntos: 7
Respuesta: Obtener una el nombre del sitio de una URL dada

Sabes como sacar al final si es un .com, .net, .org y sacar las extensiones de esos dominios dejando solo "google" en vez de google.com o google.es

Gracias.
  #4 (permalink)  
Antiguo 05/04/2013, 14:40
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Obtener una el nombre del sitio de una URL dada

Eso suena un trabajo para Expresiones regulares.

Como no se expresiones regulares, puedes mirar esto: https://github.com/john-kurkowski/tldextract

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 05/04/2013, 15:04
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 12 años, 7 meses
Puntos: 7
Respuesta: Obtener una el nombre del sitio de una URL dada

Precisamente estaba leyendo sobre tldextract que es una librería para Python. La idea específicamente es solo dejar el dominio sin el suffixes, seguiré buscando, gracias.
  #6 (permalink)  
Antiguo 05/04/2013, 15:07
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Obtener una el nombre del sitio de una URL dada

Pues con esa librería te da el domain, sin extensiones ni subdominios. ¿no era eso lo que necesitabas?
__________________
Grupo Telegram Docker en Español
  #7 (permalink)  
Antiguo 05/04/2013, 15:13
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 12 años, 7 meses
Puntos: 7
Respuesta: Obtener una el nombre del sitio de una URL dada

Cita:
Iniciado por Carlangueitor Ver Mensaje
Pues con esa librería te da el domain, sin extensiones ni subdominios. ¿no era eso lo que necesitabas?
jajaja como se dan los malos entendidos, bueno por mi poco aclaración, cuando dije que seguía en mi búsqueda era a como implementar tldextract en mi aplicación de Django, acá te dejo algo por si me lio:

Código:
url = 'http://www.forosdelweb.com/newreply.php?do=newreply&p=4404564'
tldextract.extract(url)
ExtractResult(subdomain='', domain='forosdelweb', tld='com')
Gracias.

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:22.