All Projects → simonw → Soupselect

simonw / Soupselect

Licence: mit
CSS selector support for BeautifulSoup.

Programming Languages

python
139335 projects - #7 most used programming language

A single function, select(soup, selector), that can be used to select items from a BeautifulSoup instance using CSS selector syntax.

Currently supports type selectors, class selectors, id selectors, attribute selectors and the descendant combinator.

soupselect requires BeautifulSoup v3.0.3 or above; it will not work with v2.x

Example usage:

>>> from BeautifulSoup import BeautifulSoup as Soup
>>> from soupselect import select
>>> import urllib
>>> soup = Soup(urllib.urlopen('http://slashdot.org/'))
>>> select(soup, 'div.title h3')
[<h3>
<span><a href='//science.slashdot.org/'>Science</a>:</span> ...
</h3>, <h3>
<a href='//slashdot.org/articles/07/02/28/0120220.shtml'>Star Trek To ...
</h3>
... ]

You can also monkey-patch the BeautifulSoup class itself:

>>> from BeautifulSoup import BeautifulSoup as Soup
>>> import soupselect; soupselect.monkeypatch()
>>> import urllib
>>> soup = Soup(urllib.urlopen('http://slashdot.org/'))
>>> soup.findSelect('div.title h3')
[<h3>
...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].