我正在Wikipedia页面上进行网页抓取。该代码似乎是正确的,但是我在代码的第11行遇到了问题。
代码:
A=[]
B=[]
C=[]
D=[]
E=[]
F=[]
for row in film.findAll('tr'):
states=row.findAll('th')
cells=row.findAll('td')
if len(cells==9):
A.append(states[0].find(text=True))
B.append(cells[0].find(text=True))
C.append(cells[1].find(text=True))
D.append(cells[2].find(text=True))
E.append(cells[3].find(text=True))
F.append(cells[4].find(text=True))
错误:
TypeError Traceback (most recent call last)
<ipython-input-38-bc871627aa75> in <module>()
8 states=row.findAll('th')
9 cells=row.findAll('td')
---> 10 if len(cells==9):
11 A.append(states[0].find(text=True))
12 B.append(cells[0].find(text=True))
TypeError: object of type 'bool' has no len()
答案 0 :(得分:1)
也许吗?
if(len(cells) == 9):
whatever_code
答案 1 :(得分:0)
您需要将变量单元格放在len()方法的括号内。由于方括号内有cell == 9,因此if语句试图查找不带参数的名为“ cells == 9”的变量的长度。
应该看起来像这样
if len(cells) == 9: