Найти HTML-тег, используя подстроку с beautifulsoup в python3 - PullRequest
0 голосов
/ 25 октября 2018

С помощью следующего кода:

url ='http://lampspw.wallonie.be/dgo4/site_ipic/index.php/fiche/index?sortCol=2&sortDir=asc&start=0&nbElemPage=10&filtre=&codeInt=62121-INV-0018-02'
soup = BeautifulSoup(page.content, 'html.parser')
t = soup.find_all("div", attrs={'class':'panel-heading'})
lst = [x.text for x in t]

Я получаю:

['\xa0Filtres complémentaires',
 '\xa0Recherche dans les notices',
 'Libellé(s)\xa0',
 'Illustration(s)',
 'Localisation',...]

Если я ищу конкретный тег (содержащийся в этом списке) непосредственно в супе с подстрокой:

In [290]: soup.find_all("div", string=re.compile('Locali'))
Out[291]: [<div class="panel-heading">Localisation</div>]

Я найду один из предыдущих тегов, который хочу.Но если я сделаю:

In :soup.find_all("div", string=re.compile('Libe'))
Out: []

Может кто-нибудь объяснить проблему здесь?Я думаю, это лежит в HTML-код, но я не нахожу это ...

1 Ответ

0 голосов
/ 26 октября 2018

Благодаря kcorlidy: soup.find_all (string = re.compile ('Libe')) получит результат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...