Метод find
выполняет поиск тега. Поэтому, когда вы делаете soup.find('word')
, вы просите BeautifulSoup найти все теги <word></word>
. Я думаю, что это не то, что вы хотите.
Есть несколько способов выполнить то, что вы просите. Вы можете использовать модуль re
для поиска с помощью регулярного выражения, такого как:
import re
is_present = bool(re.search('word', response.text))
Но вы можете избежать импорта дополнительных модулей, так как используете Scrapy, в которой есть встроенные методы для работы с регулярными выражениями. Просто используйте метод re
на селекторе:
is_present = bool(response.xpath('//body').re('word'))