Pregunta
Quiero buscar el título de una página web que me abrirá mediante urllib2. ¿Cuál es la mejor manera de hacer esto, para analizar el html y encontrar lo que necesito (por ahora sólo el -tag pero puede ser que necesite más en el futuro).
¿Hay un buen lib de análisis sintáctico para este propósito?
Solución
Sí lo recomendaría BeautifulSoup
Si usted está recibiendo el título es simplemente:
soup = BeautifulSoup(html)
myTitle = soup.html.head.title
o
myTitle = soup('title')
Es muy robusto y analizará el html no importa lo sucio que es.
Otros consejos
Trate Hermosa sopa:
url = 'http://www.example.com'
response = urllib2.urlopen(url)
html = response.read()
soup = BeautifulSoup(html)
title = soup.html.head.title
print title.contents
¿Por qué están ustedes importadores toda una biblioteca adicional para una tarea. No hay expresiones regulares? No fue la solicitud de no urllib bs4 o mech que son terceros? que ver con bibliotecas estándar de analizar el código HTML y coincide con la cadena a continuación, dividir el '>'
'<'
con fuego o whateves.
N=(len(html))
for a in html(N):
if '<title>' in a:
Title=(str(a))
eso es pitón 2 creo, puede despojarlo
Hermosa sopa.
html = urllib2.urlopen("...").read()
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
print soup.title.string