0

我正在请求使用:

 response = requests.post('https://xxxx.net:8089/services/search/jobs/' + job_id, auth=(splunk_user, splunk_pass), verify=False)

现在我使用print(response.text). 我希望能够只打印的值,<s:key name="dispatchState">DONE</s:key>看看它是“完成”还是任何值。

4

1 回答 1

0

解决方案 1

由于输出格式为 xml,您可以使用 python 的lxml模块解析 xml,如下所示。

import lxml.etree as et
root = et.fromstring(response.text)
done_state = root.xpath("//s:key[@name='dispatchState']/text()", root.nsmap)[0]

您可以lxml使用 pip安装

pip install lxml

您可以在此处找到更多文档和教程。

解决方案 2

如果结构是常量,您可以使用简单的正则表达式来获取所需的信息:

import re
match = re.search('<s:key name\="dispatchState">(.*?)</s:key>', response.text)
result = match.group(1)

您可以在此处获得有关正则表达式的更多信息。

于 2019-05-30T04:52:18.253 回答