2010-02-20 15 views
1

Supose vous avez une page Web avec beaucoup de ceci:Extrait divs avec au moins une classe dans BeautifulSoup

<div class="story cid-8797378263432 l-es headline-story thumbnail-true"> 

où la classe cid-nnnnnnnnnnnn peut varier. Comment auriez-vous tous les divs avec BeautifulSoup?

J'ai essayé:

soup.find('div', {'class': 'story'}) 

mais cela ne fonctionne pas. Semble chercher les divs avec SEULEMENT la classe d'histoire.

+0

http://stackoverflow.com/questions/1242755/beautiful-soup-cannot-find-a-css-class-if-the-object-has-other-classes-too/1242801#1242801 – endolith

Répondre

0

C'est un bug: Launchpad bug report. Le rapport contient également une solution de contournement:

soup.findAll('div', {'class': re.compile(r'\bstory\b')}) 
0

Ou vous pouvez simplement utiliser soup.findAll('div', 'story') qui ne semble pas avoir ce bug.