我想根据属性名称打印属性值,例如
<META NAME="City" content="Austin">
我想做这样的事情
soup = BeautifulSoup(f) //f is some HTML containing the above meta tag for meta_tag in soup('meta'): if meta_tag['name'] == 'City': print meta_tag['content']
上面的代码给出了一个KeyError: 'name',我相信这是因为BeatifulSoup使用了name,所以它不能用作关键字参数。
KeyError: 'name'
这很简单,请使用以下代码-
>>> from bs4 import BeautifulSoup >>> soup = BeautifulSoup('<META NAME="City" content="Austin">') >>> soup.find("meta", {"name":"City"}) <meta name="City" content="Austin" /> >>> soup.find("meta", {"name":"City"})['content'] u'Austin'
如果不清楚,请发表评论。