htmlfile = open('D:/test.htm','rb')
htmlhandle = htmlfile.read()
soup = BeautifulSoup(htmlhandle, 'lxml')
table = soup.select('tr > td')
for tr in table:
infostr = re.findall('stream="adfs-(\d+)',tr.prettify())
#做法 1
if (infostr.__str__() in "1776"):
print(infostr.__str__())
#做法 2
import operator
if (operator.eq(infostr.__str__(),"1776"))
print(infostr.__str__())
#做法 3,这个应该是 python2 的时候能用起来,python3 应该不行了吧?
if (infostr.__str__() == "1776")
print(infostr.__str__())
#做法 4,把 1776 强制指定为字符串变量,结果还是不行
import operator
if (operator.eq(infostr.__str__(),"1776"))
print(infostr.__str__())
想通过正则,判断截取出来的字符,是不是文本 1776 这个字符串?
已试过:
for tr in table:
print tr
确定 tr 是已经获取到字符串的了。。。。
求问正确的做法应该是?
1
kba977 2018-08-19 15:50:44 +08:00
infostr 是一个列表呀
|
2
ranleng 2018-08-19 15:58:28 +08:00
如 #1 说的.
re.findall 返回的是一个 list |
3
pppguest3962 OP @kba977,我真是傻了。。。意识到自己的错误,不胜感谢!!!
|
4
wwqgtxx 2018-08-19 21:01:29 +08:00 via iPhone
而且为啥要手动调用.__str__不应该用 str()的么
|
5
talen666 2018-08-19 22:37:41 +08:00
if infostr[0].find('1776) != -1
|