Выберите метод печати BeautifulSoup .text? - PullRequest
0 голосов
/ 25 октября 2018

Я использую BeautifulSoup для создания веб-данных с веб-сайта.В своей основной функции я распечатываю все «сильные» элементы из файла HTML, но я бы хотел отфильтровать некоторый текст, который не хочу печатать.

x = "abcdef"
for i,strong in enumerate(html.select("strong")):
    print(i,strong.text)

В этомСценарий, я хотел бы проверить, если х в strong.text, а затем распечатать его, если текст не содержит его.

1 Ответ

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

Большинство методов поиска в BeautifulSoup, основанные на bs4.element.SoupStrainer, принимают необязательный текстовый аргумент.

Когда этот аргумент является функцией, ему передается соответствующий узел (bs4.element.NavigableString). например

matched_nodes = html.findAll('strong', text=lambda n: x in n.lower())
for i, strong in enumerate(matched_nodes):
    print(i, matched_nodes)
...