Большой XML-ответ-Python - PullRequest
       21

Большой XML-ответ-Python

0 голосов
/ 20 ноября 2018

Я очищаю веб-страницу, которая возвращает 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 голосов
/ 21 ноября 2018

Ответ 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('--')
...