例如,如果我使用像id:
这样的元素属性进行搜索soup.findAll('span',{'id':re.compile("^score_")})
我找回了匹配的整个span元素的列表(我喜欢)。
但是如果我尝试按照这样的html元素的innerText进行搜索:
soup.findAll('a',text = re.compile("discuss|comment"))
我只回到元素背面的innerText部分,而不是像上面那样用标签和属性匹配整个元素。
这可能与找到匹配然后得到它的父母一起吗?
感谢。
答案 0 :(得分:6)
你没有收回文字。你得到一个NavigableString
的文字。该对象具有转到父等的方法
from BeautifulSoup import BeautifulSoup
import re
soup = BeautifulSoup('<html><p>foo</p></html>')
r = soup.findAll('p', text=re.compile('foo'))
print r[0].parent
打印
<p>foo</p>