这是我的代码:
v_card = soup.find('div', {'class':'col subgroup vcard'})
if v_card is not None :
print v_card.prettify()
infos = v_card.findAll('li')
print infos[0].text()
这是输出:
<div class="col subgroup vcard">
<ul>
<li>
infos I need to get
</li>
<li>
infos I need to get
</li>
<li>
</li>
</ul>
</div>
Traceback (most recent call last):
File "./xxxx.py", line 43, in <module>
print infos[0].text()
TypeError: 'unicode' object is not callable
请注意,如果我删除.text()
方法,则会成功打印<li>
标记及其内容。
这很奇怪,因为使用其他元素我使用.text()
没有问题,我没有得到它,有什么解释吗?
答案 0 :(得分:4)
.text
是一个属性,返回节点的包含文本。它不可调用,只需直接使用即可:
print infos[0].text
你可能已经对这里的Element.get_text()
method感到困惑;访问.text
属性与调用.get_text()
时没有任何参数基本相同。