Python 3.x ';非类型';对象不可调用';在BeautifulSoup findall()中
我对python的奇妙世界还很陌生。下面的scraper产生了一个objectnotcallable错误,我真的不明白为什么会这样。非常感谢您的帮助Python 3.x ';非类型';对象不可调用';在BeautifulSoup findall()中,python-3.x,beautifulsoup,Python 3.x,Beautifulsoup,我对python的奇妙世界还很陌生。下面的scraper产生了一个objectnotcallable错误,我真的不明白为什么会这样。非常感谢您的帮助 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("https://www.maxxim.de/lte-mini-sms1?maxxim=7hs6q1jfl95fip6qumcum4rfh4") bsObj = BeautifulSoup(
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://www.maxxim.de/lte-mini-sms1?maxxim=7hs6q1jfl95fip6qumcum4rfh4")
bsObj = BeautifulSoup(html,"html.parser")
nameList = bsObj.findall("h2")
for name in nameList:
print (name.get_text())
使用
finduall(“h2”)
而不是findall(“h2”)使用finduall(“h2”)
而不是findall(“h2”)
您需要添加完整的回溯,以便我们可以看到哪一行给出了错误。你应该花点时间阅读。它要么是大写的A
通常,“NoneType not callable”表示您试图使用某个不存在的函数/方法。您需要添加完整的回溯,以便我们可以看到哪一行给出了错误。你应该花点时间阅读。它要么是大写的A
一般来说,“NoneType not callable”表示您试图将某个不存在的函数/方法用作该函数/方法。这只正确了一半find_all
有效,但findAll
也有效(注意大写的A
)<另一方面,code>findall
不存在,因此访问bsObj.findall
返回None
并尝试调用它bsObj.findall()
会产生所看到的错误。如果它只是返回了None
,你不会得到那个错误,而是在一行之后得到另一个错误,你不能迭代None。我被吓坏了。非常感谢您的迅速回复。我还要看一看引用的文章。@DanielP我很高兴能帮上忙!如果我的答案解决了你的问题,请务必接受我的答案。@AMagoon,你的答案是错误的,正如前面所指出的,findAll本可以很好地工作,它被弃用而不是被删除,问题是存在findAll,而且从来没有findAll。这只对了一半find_all
有效,但findAll
也有效(注意大写的A
)<另一方面,code>findall不存在,因此访问bsObj.findall
返回None
并尝试调用它bsObj.findall()
会产生所看到的错误。如果它只是返回了None
,你不会得到那个错误,而是在一行之后得到另一个错误,你不能迭代None。我被吓坏了。非常感谢您的迅速回复。我还要看一看引用的文章。@DanielP我很高兴能帮上忙!如果我的回答解决了你的问题,请务必接受我的回答。@AMagoon,你的回答是错误的,正如前面所指出的,findAll本可以很好地工作,它被弃用,而不是被删除,问题是存在而且从来没有过findAll。