尝试生成AttributeError但没有成功

时间:2015-12-11 02:42:53

标签: python beautifulsoup attributeerror

我希望能够在最长的代码上过滤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)

我正在运行Python 3.4.3

2 个答案:

答案 0 :(得分:0)

如果我理解你在问什么,这就是你如何抓住var express = require("express"), app = express(); app.get('*', function(req,res) { if(req.isSocket){ return res.redirect('wss://' + req.headers.host + req.url) } else{ return res.redirect('https://' + req.headers.host + req.url) } }).listen(80);

AttributeError

答案 1 :(得分:0)

潜入bs4来源你会发现原因。 __getattr__的{​​{1}}方法已实现,实际上是从BeautifulSoup继承的。每次访问不存在的属性时都会调用此方法。这是使用Tag时发生的情况。将调用此方法:

randomtest

因此,如果找不到任何内容,它将返回def find(self, name=None, attrs={}, recursive=True, text=None, **kwargs): """Return only the first child of this Tag matching the given criteria.""" r = None l = self.find_all(name, attrs, recursive, text, 1, **kwargs) if l: r = l[0] return r