如何使用XPath获取br标签后的内容?

图片描述

如图,有什么便捷的Xpath方法获取未闭合标签下的信息呢?
附上自己的代码

html = requests.get('https://movie.douban.com/top250').text
tree = lxml.html.fromstring(html)
data = tree.xpath("//ol/li[1]//div[@class='bd']/p")[0].text
print(data)
#导演: 弗兰克·德拉邦特 Frank Darabont   主演: 蒂姆·罗宾斯 Tim Robbins /...

data = tree.xpath("//ol/li[1]//div[@class='bd']/p/br")[0]
print(data)
#<Element br at 0x2c7d86cdb38>
#但如果加上.text则输出None

data = tree.xpath("//ol/li[1]//div[@class='bd']/p")[0].xpath('string(.)')
#导演: 弗兰克·德拉邦特 Frank Darabont   主演: 蒂姆·罗宾斯 Tim Robbins /...
                            1994 / 美国 / 犯罪 剧情

虽然'string(.)'能获取标签下所有文本,但有没有什么办法能单独获取br标签后的内容呢?

阅读 15.6k
2 个回答

把<p>里面的内容整个提取出string来后用re提取。

r'\<br\>([\w\/]+)$'

clipboard.png

新手上路,请多包涵

用 xxx.tail

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题