【发布时间】:2022-08-19 03:35:48
【问题描述】:
这是我要提取的数据:
<messages>
<message type=\"General\" code=\"ER\">SECURITY ALERT message(s) found.</message>
<message type=\"General\">ORDER NUMBER: 7575757</message>
</messages>
我只是想获取订单号:7575757
我尝试了几种获取此属性的方法,但均未成功。
第一次尝试:
def parseTestID(testid):
dict = {\'ORDER NUMBER\': testid.split(\" \")[0].split(\":\")[0]}
return dict
parsedData= []
for element in bs_data.find_all(\"messages\"):
for message in element.find_all(\"message\"):
dict = {\'type\': message[\'type\'], \'ORDER NUMBER\': parseTestID(message.string)[\'ORDER NUMBER\']}
# append dictionary to list
parsedData.append(dict)
# return list
print(parsedData)
输出:
[{\'type\': \'General\', \'ORDER NUMBER\': \'SECURITY\'}, {\'type\': \'General\', \'ORDER NUMBER\': \'ORDER\'}]
第二次尝试:
for element in bs_data.find_all(\"messages\"):
for message in element.find_all(\"message\"):
print(message.text)
输出:
SECURITY ALERT message(s) found.
ORDER NUMBER: FA3JZ0P
我觉得我很接近但不太确定如何抓住这个特定的属性。
标签: python xml parsing beautifulsoup attributes