xpath中如何获得直接包含在div内部的文本,以及如何获得一个元素的Html

新手上路,请多包涵

1.请问下大佬问如何获得直接包含在div内部的文本,比如获得<div>tilte</div>中的title文本;
2.什么方法可以获得Element的html

阅读 5.8k
2 个回答
<body>
    <div>title</div>
</body>

上述形式的情况下
需要先定位到div元素
data:代表这个html文档根Element

list_ = data.xpath("//div") # 不考虑div所在的位置,获取所有满足div名称的元素,此时会返回一个Element 数组
for i in list_:
    print(i.text)  # text就是title信息

参考:https://www.w3school.com.cn/x...

>>> broken_html = "<html><head><title>test<body><h1>page title</h3>"

>>> parser = etree.HTMLParser()
>>> tree   = etree.parse(StringIO(broken_html), parser)

>>> result = etree.tostring(tree.getroot(),
...                         pretty_print=True, method="html")
>>> print(result)
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <h1>page title</h1>
  </body>
</html>

参考:https://lxml.de/parsing.html
Parsing HTML章节


//div/text() 可以获取内容

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