2013-01-10 19 views
17

atrybut wieloznaczny/id mam to:Python BeautifulSoup szukaj

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

Jednak muszę id być poszukiwanie wieloznaczny ponieważ id może być date_1, date_2 itp

Odpowiedz

36

można podać wpłacone jako filtr:

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

Albo jak @DSM zaznacza

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

jak BeautifulSoup rozpozna obiekt RegExp i wywołać jego metodę .match().

+1

Daje mi to błąd "Obiekt NoneType" nie ma atrybutu startswith " – user984003

+0

@ user984003 okies - nie wiem co by to spowodowało - zaktualizowany wpis –

+1

Można również przekazać wyrażenie regularne, np.' Re.compile ('date * ")'. – DSM

Powiązane problemy