пропустить root = ET.fromstring(r.content)
.Не нужно.Перейдите прямо к 'json.loads'
import requests
import json
base_url = "https://www.gmeiutility.org/actions/Search/?isPendingValidationChecked=true&isSearchAllLOUChecked=true&keyWord=5493&page=1&resultsPerPage=15&searchType=baseSearch&sortDirection=&sortFieldName="
r = requests.get(base_url)
#print(r.content)
data = json.loads(r.content)
for result in data['entitySearchResult']:
print(result['LEINumber'])
Я получил вывод:
549300FTQBLOETQK6X43
549300UQLV7M883Z2X56
5493003MO7QE8VJUEP94
549300GKNMWK6EJZWB62
...
РЕДАКТИРОВАТЬ: Если кто-то хочет расширить / уточнить за пределами, не стесняйтесь.Мое объяснение ниже может быть не совсем точным (и плохое объяснение), потому что я все еще учусь, но я думаю, что это как-то связано с тем, как XML структурирован с requests.get()
.
Что я сделалЯ посмотрел на ваш r.content
, и он уже выглядел как json-подобная структура, поэтому я решил сразу же попробовать json.loads(r.content)
.
Если вы посмотрите на него дальше,предыдущий пост / вопрос, который вы разместили (как вы упомянули выше), когда вы print (r.content)
, вы увидите:
b'<?xml version="1.0" encoding="utf-8"?>\r\n<string xmlns="http://tempuri.org/">{"Result":[{"Appl_Number":"20181458","Seq_Num":"28","Inst_Rle_Cde":"1","Appl_Type":"BRANCH","Appl_Recd_YMD":"11/1/2018 12:00:00...
Обратите внимание, что он начинается с b'<?xml version="1.0" encoding="utf-8"?>\r\n
, так что root = ET.fromstring(r.content)
в вашемПервый пост, затем глядя на root.text
, появился, чтобы преобразовать это таким образом, что вы request.get()
здесь.
, когда вы делаете print (r.content)
здесь, я вижу:
b'{"totalPages":28085,"totalResults":421274,"lastResult":15,"entitySearchResult":[{"isPendingReview":"false","headquartersAddressLineOne":
, в котором отсутствует <?xml version="1.0"...>
Так что я думаю, именно поэтому вы получили эту ошибку, потому что он искал <?xml version="1.0"...>
при получении этого root = ET.fromstring(r.content)
Так что он не смог преобразовать его (или фактически все готово к использованиюjson.loads()
без преобразования перед этим.
Как я уже сказал, я сдо обучения тоже, так что я буду больше изучать это и как работает XML.Тем не менее, это хорошая отправная точка для изучения, обучения и изучения.