我正在使用以下方法请求工作拼凑:
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>
的值,看看它是“ DONE”还是其他值。
答案 0 :(得分: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]
您可以使用pip安装lxml
pip install lxml
您可以找到更多的文档和教程here。
解决方案2
如果结构是常量,则可以使用简单的正则表达式来获取所需的信息:
import re
match = re.search('<s:key name\="dispatchState">(.*?)</s:key>', response.text)
result = match.group(1)
您可以获得有关正则表达式here的更多信息。