Python BeautifulSoup: подстановочный атрибут/идентификатор

У меня есть это:

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

Однако мне нужно, чтобы id был подстановочным поиском, так как id может быть date_1, date_2 и т.д.

Ответы

Ответ 1

Вы можете указать вызываемый как фильтр:

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

Или как @DSM указывает

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

поскольку BeautifulSoup распознает объект RegExp и вызовет его метод .match().