5
例如,如果我用元素的属性,像ID搜索:使用BeautifulSoup的findAll来搜索html元素的innerText以获得与搜索属性相同的结果?
soup.findAll('span',{'id':re.compile("^score_")})
我回来匹配整个跨度元素(我喜欢)的列表。
但如果我尝试用的innerText这样的HTML元素的搜索:
soup.findAll('a',text = re.compile("discuss|comment"))
我回来只是元素的innerText部分回匹配,而不是整个元素与标签和属性像我会在上面。
这是可能的做出去找到匹配,然后得到它的父母?
谢谢。
超级感谢。基本上得到我想要的结果,就像这样: comments = map(lambda x:x.parent,soup.findAll('a',text = re.compile(“。discuss | comment。 “))) – Jack 2010-04-05 19:21:56
maplambda是丑陋的,所以我只是''s.parent for s.in soup.findAll(...)]' – nosklo 2010-04-05 19:36:19
@Jack:也值得检查的是'lxml.html' - 我是因为后者不再被维护并且速度较慢,所以宁愿将它放在'BeautifulSoup'上面。 – nosklo 2010-04-08 11:39:12