Necesito extraer datos de archivos HTML. Los archivos en cuestión son, muy probablemente, generados automáticamente. He cargado el código de uno de estos archivos a Pastebin: http://pastebin.com/9Nj2Edfv. Este es el enlace a la página actual: http://eur-lex.europa.eu/Notice.do?checktexts=checkbox&val=60504%3Acs&pos=1&page=1&lang=en&pgs=10&nbl=1&list=60504%3Acs%2C&hwords=&action=GO&visu=%23texteExtraer datos de archivos HTML con BeautifulSoup y Python
Los datos que necesito extraer se encuentran bajo los diferentes encabezados.
Esto es lo que tengo hasta ahora:
from BeautifulSoup import BeautifulSoup
ecj_data = open("data\ecj_1.html",'r').read()
soup = BeautifulSoup(ecj_data)
celex = soup.find('h1')
auth_lang = soup('ul', limit=14)[13].li
procedure = soup('ul', limit=20)[17].li
print "Celex number:", celex.renderContents(),
print "Authentic language:", auth_lang
print "Type of procedure:", procedure
tengo todos los datos almacenados localmente, que es la razón por la que se abre el archivo ecj_1.html.
El número de Celex y el lenguaje Auténtico funcionan bastante bien.
celex devuelve
"Celex number:
61977J0059"
auth_lang devuelve "Authentic language: <li>French</li>"
I necesita sólo el contenido de la etiqueta h1 (no de la pausa al final).
[También, necesito auth_lang para volver sólo "francés", y no los <li>
creada.] Esto no es un problema más. Me di cuenta de que solo podía agregar ".text" al final de "auth_lang".
Procedimiento por el contrario devuelve este:
Type of procedure: <li>
<strong>Type of procedure:</strong>
<br />
Reference for a preliminary ruling
</li>
que es bastante malo como acabo lo necesito para volver "Petición de decisión preliminar".
¿Hay alguna manera de que pueda lograrlo?
Segunda edición: que sustituyen celex = soup.find('h1')
con celex = soup('h1', limit=2)[0]
y ha añadido .text
a la celex impresión.
Fraxel: Muchas gracias! Funciona a las mil maravillas. La idea es transferir de algún modo el resultado de este archivo a una base de datos. Creo que es posible que haya resuelto un problema en el futuro cuando me mostró cómo deshacerse de las nuevas líneas, ya que es probable que arruinen algo más adelante. ¡Gracias de nuevo! – A2D2