我希望你能告诉我我的网络刮板出了什么问题。
我想要做的是在页面上的某个字符串(“抱歉,Gruen Fan”)发生变化时收到通知。我能够拉入字符串,但是,“If”函数似乎不起作用 - 它的输出应该是“Text is in”。这是代码:
from bs4 import BeautifulSoup
from urllib import urlopen
import re
urls= ["http://www.abc.net.au/tv/programs/gruen-nation/"]
for url in urls:
webpage = urlopen(url).read()
FindTitle = re.compile('\t\t\t\t(.*)\.<BR><BR>')
FindTitle = re.findall(FindTitle,webpage)
print FindTitle[0]
print ' '
if 'Sorry, Gruen fan' in FindTitle:
print("Text is in")
else:
print("Text isn't in")
提前感谢您的时间,
萨姆。
答案 0 :(得分:0)
FindTitle
是一个列表。该字符串不在列表中,因此您获得False
。
您应该检查它是否在列表中的字符串中:
if 'Sorry, Gruen fan' in FindTitle[0]:
此外,如果您只想检查字符串,则不需要正则表达式:
from urllib import urlopen
urls = ["http://www.abc.net.au/tv/programs/gruen-nation/"]
for url in urls:
html = urlopen(url).read()
if 'Sorry, Gruen fan' in html:
print("Text is in")
else:
print("Text isn't in")