Я просмотрел похожие сообщения, которые близки к моему случаю, но мой результат, тем не менее, кажется неожиданным.
import BeautifulSoup
import re
soup = BeautifulSoup.BeautifulSoup(<html page of interest>)
if (soup.find_all("td", attrs= {"class": "FilterElement"}, text= re.compile("HERE IS TEXT I AM LOOKING FOR")) is None):
print('There was no entry')
else:
print(soup.find("td", attrs= {"class": "FilterElement"}, text= re.compile("HERE IS THE TEXT I AM LOOKING FOR")))
Очевидно, я отфильтровал реальную HTML-страницу, а также текст в регулярном выражении. Остальное точно как написано. Я получаю следующую ошибку:
Traceback (most recent call last):
File "/Users/appa/src/workspace/web_forms/WebForms/src/root/queryForms.py", line 51, in <module>
LoopThroughDays(form, id, trailer)
File "/Users/appa/src/workspace/web_forms/WebForms/src/root/queryForms.py", line 33, in LoopThroughDays
if (soup.find_all("td", attrs= {"class": "FilterElement"}, text= re.compile("HERE IS THE TEXT I AM LOOKING FOR")) is None):
TypeError: 'NoneType' object is not callable
Я понимаю, что текст иногда будет отсутствовать. Но я думал, что способ, которым я настроил оператор if
, точно мог зафиксировать, когда он отсутствует, и, следовательно, NoneType
.
Заранее благодарю за любую помощь!
from bs4 import BeautifulSoup
? так какBeautifulSoup4
находится вbs4
модуле - person salmanwahed   schedule 05.08.2014