当我尝试解析for循环时,我收到此错误
pages=soup.find('span',{'class':'pagnDisabled'})
if pages==None:
print 'None'
elif pages!=None:
for i in range(2, pages + 1):
print i
我收到此错误
TypeError: unsupported operand type(s) for +: 'Tag' and 'int'
答案 0 :(得分:1)
soup.find()返回一个Tag。也许你必须使用soup.findall()方法代替soup.find():
pages=soup.findall('span',{'class':'pagnDisabled'})
if len(pages) == 0:
print 'None'
elif len(pages):
for i in range(2, len(pages) + 1):
print i
答案 1 :(得分:1)
.find()
会返回一个实现Tag
的{{1}}对象,但当您尝试使用__len__
添加Tag
对象时,它将 not 尝试使用标记的长度,因此您必须使用int
显式调用它,这将返回标记内容的长度。
此外,len(pages)
仅返回1个标记。您需要.find()
方法。