Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python BeautifulSoup: wildcard attribute/id search

I have this:

dates = soup.findAll("div", {"id" : "date"})

However, I need id to be a wildcard search since the id can be date_1, date_2 etc.

like image 471
user984003 Avatar asked Jan 10 '13 12:01

user984003


1 Answers

You can provide a callable as a filter:

dates = soup.findAll("div", {"id" : lambda L: L and L.startswith('date')})

Or as @DSM points out

dates = soup.findAll("div", {"id" : re.compile('date.*')})

as BeautifulSoup will recognise a RegExp object and call its .match() method.

like image 115
Jon Clements Avatar answered Nov 20 '22 17:11

Jon Clements