L'extraction de données à partir de fichiers HTML avec BeautifulSoup et Python

J'ai besoin d'extraire des données à partir de fichiers HTML. Les fichiers en question sont, le plus probable, généré automatiquement. J'ai téléchargé le code de l'une de ces fichiers sur Pastebin: http://pastebin.com/9Nj2Edfv. C'est le lien vers la page: 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=%23texte

Les données dont j'ai besoin pour extraire est trouvé sous les différentes rubriques.

C'est ce que j'ai à ce jour:

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

J'ai toutes les données stockées localement, ce qui est la raison pour laquelle il ouvre le fichier ecj_1.html.

Le numéro Celex et de l'Authentique langage fonctionne plutôt bien.

celex retourne

"Celex number: 
61977J0059"

auth_lang retourne "Authentic language: <li>French</li>"

J'ai besoin de tout le contenu de la balise h1 (pas de pause à la fin).

[Aussi, j'ai besoin auth_lang pour revenir simplement "à la française", et non pas le <li>-tags.]
Ce n'est plus un problème. J'ai réalisé que je pourrais juste ajouter ".texte" à la fin de "auth_lang".

Procédure sur l'autre main est de retour cette:

    Type of procedure: <li>
    <strong>Type of procedure:</strong>
    <br />
    Reference for a preliminary ruling
    </li>

qui est tout à fait faux que j'ai juste besoin de retour "demande de décision préjudicielle".

Est-il un moyen que je peux accomplir cela?

Deuxième édition:
J'ai remplacé celex = soup.find('h1') avec celex = soup('h1', limit=2)[0] et a ajouté .text à l'impression celex.

OriginalL'auteur A2D2 | 2012-03-20