首先使用 XPath 获取了 /html/body/main/div/div[1]/div[1]/span 的文本内容,存储在 name 变量中。 然后使用 if 语句判断 name 是否为空列表,如果是,则 不输出;如果不是,则继续执行下面的代码。如何编写Python代码
时间: 2024-01-16 13:03:03 浏览: 26
可以使用 Python 的 lxml 库来解析 HTML 或 XML 页面,并使用 XPath 来获取元素的值。以下是一个示例代码,可以帮助你实现上述的逻辑:
```python
from lxml import etree
html = '''
<html>
<body>
<main>
<div>
<div class="title">
<span>标题</span>
<p><span>发布时间:2021-07-01</span></p>
</div>
</div>
</main>
</body>
</html>
'''
tree = etree.HTML(html)
name = tree.xpath('/html/body/main/div/div[1]/div[1]/span/text()')
if name:
publish_time = tree.xpath('/html/body/main/div/div[1]/div[1]/p/span/text()')[0].replace('发布时间:','')
print(name[0], publish_time)
```
在这个示例代码中,我们首先使用 lxml 库解析了一个 HTML 页面,然后使用 XPath 获取了 /html/body/main/div/div[1]/div[1]/span 的文本内容,存储在 name 变量中。接着,我们使用 if 语句判断 name 是否为空列表,如果不为空,则使用 XPath 获取了 /html/body/main/div/div[1]/div[1]/p/span 的文本内容,并替换掉了其中的 '发布时间:' 字符串,存储在 publish_time 变量中。最后,我们打印出了 name 和 publish_time 变量的值。
需要注意的是,如果使用的 HTML 页面结构与示例代码中的不同,需要根据实际情况修改 XPath 的路径。