Почему BeautifulSoup не находит теги, содержащие текст, но я могу запустить «найти» и увидеть текст в HTML? - PullRequest
0 голосов
/ 13 июня 2019

Я использую Python 3.7 и BeautifulSoup 4. Как правильно искать теги, содержащие определенный текст? Я думал, что смогу сделать это

soup = BeautifulSoup(code, features="lxml")
...
no_images_msgs = ["No very similar images were found.", "No similar images were found."]
for no_images_msg in no_images_msgs:
    elts = soup.body.findAll(text=re.compile("^.*" + no_images_msg + ".*$"))
    print("index:" + str(code.find(no_images_msg)))
    print("searched for " + no_images_msg + " found:" + str(len(elts)))

но интересно, что хотя вызов "find" возвращает положительное число, указывающее, что указанная строка может быть найдена в HTML-коде, вызов "findAll" не может ничего найти. Что я делаю не так?

1 Ответ

0 голосов
/ 13 июня 2019

Не правда ли find_all()?Я только что проверил документацию, и они переименовали findAll в BeautifulSoup 4.

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