我希望能够过滤最长代码上的AttributeError
,但我不明白为什么它总是返回我None
,而不是这个简单代码上的AttributeError
?你知道吗
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://www.pythonscraping.com/pages/page1.html")
bsObj = BeautifulSoup(html.read(), "html.parser")
print(bsObj.randomtest)
我正在运行python3.4.3
深入到
bs4
的源头,你会找到原因。实现了BeautifulSoup
的方法__getattr__
,实际上是从Tag
继承的。每次访问不存在的属性时都会调用此方法。这就是使用randomtest
时发生的情况。此方法将被调用:因此,如果它找不到任何东西,它将返回
None
。你知道吗如果我理解你的要求,这就是你如何抓住一个
AttributeError
。你知道吗相关问题 更多 >
编程相关推荐