J'utilise BeautifulSoup pour faire du scrap. Mon problème est le suivant: J'ai besoin d'extraire des choses spécifiques d'un paragraphe. Un exemple:Comment utiliser BeautifulSoup pour extraire d'un paragraphe HTML?
<p><b><a href="/name/abe">ABE</a></b> <font class="masc">m</font> <font class="info"><a href="/nmc/eng.php" class="usg">English</a>, <a href="/nmc/jew.php" class="usg">Hebrew</a></font><br />Short form of <a href="/name/abraham" class="nl">ABRAHAM</a>
Sur ce point, je suis en mesure d'extraire le nom ABE comme suit:
for pFound in soup.findAll('p'):
print pFound
#will get the names
x = pFound.find('a').renderContents()
print x
Maintenant, mon problème est d'extraire l'autre nom et, dans le même paragraphe .
Short form of <a href="/name/abraham" class="nl">ABRAHAM</a>
Je dois extraire uniquement si la balise a est précédé du texte « expurgée de »
Toutes les idées sur la façon de le faire? Il y a beaucoup de tels paragraphes dans la page HTML, et tous n'ont pas le texte "Forme courte de" Ils peuvent contenir un autre texte à cet endroit.
Je pense qu'une combinaison de regex et findNext() peut être utile, mais je ne connais pas BeautifulSoup. Fini par perdre beaucoup de temps.
Toute aide serait appréciée. Merci.
Merci Alex, qui a travaillé avec quelques modifications. –
@kartiku, de rien, et, heureux d'entendre cela! –