我试图从lxml使用Xpath从这个站点获取名人名单,但遇到了麻烦。
这是HTML
<div class="lists">
<dl> <dt>A</dt> <dd><a href="/people/adam_levine/" id="20608779">Adam Levine</a> </dd>
我想得到文章Adam Levine
我在python中的代码是......
celebs = tree.xpath('//dd[a]/following-sibling::node()')
但我的结果是元素dd在0x1084ad4c8&gt; ...
如果有人能提供帮助那就太棒了。感谢
答案 0 :(得分:0)
使用text()
提取文字,而不是following-sibling::node()
,如下所示:
from lxml import etree
# your HTML is invalid, I have purposefully put the </dl> and </div> closing tags
s = '''<div class="lists">
<dl> <dt>A</dt> <dd><a href="/people/adam_levine/" id="20608779">Adam Levine</a> </dd></dl></div>'''
tree = etree.fromstring(s)
tree.xpath('.//dd/a/text()')
['Adam Levine']