大型XML响应-Python

时间:2018-11-20 16:29:17

标签: python xml web-scraping

我正在抓取一个返回XML响应的网页,而我一生都无法从中提取任何数据。这是我的代码,仅返回XML响应:

import requests

url = 'https://www5.fdic.gov/cra/WebServices/DBService.asmx/callWS'

r = requests.post(url, data={"functionName":"SearchCRA","parmsJSON":"{\"Appl_Number\":\"\",\"Appl_Type\":\"\",\"PSTALP\":\"\",\"SUPRV_FDICDBS\":\"09\",\"BANK_NAME\":\"\"}"})

print(r.content)

例如,我想提取申请号,机构名称和申请类型。我是Python的新手,但是我对此一无所知。

谢谢。

1 个答案:

答案 0 :(得分:0)

XML响应实际上具有非常简单的结构,只有一个根元素<string>。该元素的文本包含JSON,因此实际上解析内容是微不足道的。

假设您在r中有答复,然后:

import json
from xml.etree import ElementTree as ET

root = ET.fromstring(r.content)
data = json.loads(root.text)

for result in data['Result']:
    print(result['Appl_Number'])
    print(result['Instname'])
    print(result['Appl_Type'])
    print('--')