Je suis nouveau sur python et j'utilise BeautifulSoup pour analyser un site Web, puis extraire des données. J'ai le code suivant:Supprimer des balises de HTML analysé avec BeautifulSoup
for line in raw_data: #raw_data is the parsed html separated into smaller blocks
d = {}
d['name'] = line.find('div', {'class':'torrentname'}).find('a')
print d['name']
<a href="/ubuntu-9-10-desktop-i386-t3144211.html">
<strong class="red">Ubuntu</strong> 9.10 desktop (i386)</a>
Normalement, je serais extrait mesure 'bureau Ubuntu 9.10 (i386)' en écrivant:
d['name'] = line.find('div', {'class':'torrentname'}).find('a').string
mais en raison des fortes balises html, il retourne Aucun. Existe-t-il un moyen d'extraire les tags forts, puis d'utiliser .string ou existe-t-il un meilleur moyen? J'ai essayé d'utiliser la fonction extract() de BeautifulSoup mais je n'ai pas réussi à l'obtenir. Edit: Je viens de me rendre compte que ma solution ne fonctionne pas s'il y a deux ensembles de tags forts car l'espace entre les mots est omis. Quel serait un moyen de résoudre ce problème?
liés: http://stackoverflow.com/questions/598817/python-html-removal/599080 # 599080 – jfs