Я захожу на сайт, делаю поисковый запрос и затем фильтрую результаты с Beautifulsoup, чтобы получить все термины в теге «b». Из результатов я хотел бы проверить, присутствует ли поисковый термин (Тестирование). Мой текущий код ниже. Проблема, с которой я сталкиваюсь, заключается в том, что даже когда есть результат и термин присутствует, я все равно получаю ответ, отсутствующий. Я напечатал отфильтрованный запрос и прочитал его, и результат определенно там, так что ошибка в поисковой части. Я думаю, что проблема в том, что в html слово «тестирование» само по себе не является таковым, поэтому его «Testing.example» или «Testing.test», и поэтому поиск не может найти его в окружении пробелов. Как мне найти слово / фразу в более длинном слове / фразе.
Мне нужно, чтобы «Тестирование» находилось в «example.Testing.example» или в «test.Testing.example»
Надеюсь, что это имеет смысл.
Спасибо
words = ["Testing"]
br.open ('http://www.example.com/browse.php?psec=2&search=%s' % words)
html = br.response().read()
soup = BeautifulSoup(html)
filtered = soup.findAll('b')
# print filtered
for word in words:
if word in filtered:
print "%s found." % word
else:
print "%s not found." % word
Редактировать
[<b><a title="Unknown">---</a></b>, <b>Welcome Back<br /><a href="/user/"><
span style="color:#0080FF;"></span></a>!<br /></b>, <b><span class="smallfo
nt"><a href="/messages.php?action=viewmailbox"><img height="14px" style="border:
none" alt="inbox" title="inbox (no new messages)" src="/pic/pn_inbox.gif" /></a>
59 (0 New)</span></b>, <b><span class="smallfont"> <a href="/message
s.php?action=viewmailbox&box=-1"><img height="14px" style="border:none" alt=
"sentbox" title="sentbox" src="/pic/pn_sentbox.gif" /></a> 37</span></b>, <b>Sho
w all</b>, <b><< Prev</b>, <b>Next >></b>, <b>1 - 7</b>, **<b>The.Testing
.example.T3Z6.L</b>**, <b><span style="color:#FF5500;">dgHn</span
></b>, <b><a href="/details.php?id=15829&hit=1&filelist=1">1</a></b>, <b
><a href="/details.php?id=15829&hit=1&=1"><font>30</font></a></
b>, <b><a href="/details.php?id=15829&hit=1&todlers=1">1</a></b>,
Когда я печатаю фильтрованный, я получаю вышеуказанный результат Это немного дольше, но вы поняли. На пяти строчках снизу в ** s вы видите результат, который должен иметь положительный результат, но это не так.