Другой метод.
from simplified_scrapy import SimplifiedDoc, utils, req
xml = req.get(
'http://mapiuat.vwbeatroute.com/v1/customer/index?key=aQeZx9WpppnbyJmar2ry4Ah0_2WdzWo4'
)
doc = SimplifiedDoc(xml)
items = doc.selects('data>item')
for item in items:
children = item.children
dicts = []
for child in children:
if child.tag == 'customFields' or child.tag == 'statutoryFields':
custom = child.selects('item')
for i in custom:
thisdict = {}
for kv in i.children:
thisdict[kv.tag] = kv.text
dicts.append(thisdict)
else:
thisdict = {child.tag: child.text}
dicts.append(thisdict)
print(dicts)
Результат:
[{'distributor_id': '502914'}, {'distributor_external_id': '1200012'}, {'distributor_name': 'LIVGUARD ENERGY TECHNOLOGIES PVT. LTD.'}, {'id': '724342'}, {'city': 'Mohanlal'}, {'chain_id': ''}, {'district': ''}, {'unique_id': ''}, {'contact_person': 'Mr. Mansha Ram'}, {'country': 'India'}, {'created_by': '12216'}, {'created_date': '2016-10-07 15:50:36'}, {'deleted_by': ''}, {'deleted_date': ''}, {'email': ''}, {'fax': ''}, {'fssai_number': ''}, {'group': '0'}, {'is_available': '1'}, {'landline': ''}, {'longitude': '0.000000000000'}, {'latitude': '0.000000000000'}, {'locality': ''}, {'mobile': '9453705181'}, {'modified_by': '12216'}, {'modified_date': '2019-07-12 13:24:47'}, {'name': 'SHAM ENTERPRISES'}, {'pan': ''}, {'pincode': '227305'}, {'retailer_subtype': '0'}, {'retailer_type': 'MT'}, {'status': '1'}, {'street': 'MOHAN LAL GANJ'}, {'sync_time': '2019-04-12 18:03:15'}, {'route_id': '11573'}, {'route_order': '0'}, {'stage': ''}, {'tsm': '12731'}, {'sm': '12217'}, {'route': 'LUCKNOW ROUTE - 1'}, {'sales_rep_id': '12732'}, {'state_id': '689'}, {'state': 'Haryana'}, {'external_id': '724342'}, {'labelId': '371', 'labelName': 'BPM Unique Id', 'value': ''}, {'labelId': '376', 'labelName': 'Test', 'value': ''}, {'id': '10', 'name': 'GSTIN Number'}]
......