Я пытаюсь перехватить данные с двух узлов с одинаковыми именами. Я использую метод find, но он всегда извлекает вложенное значение, а не первый дочерний узел. Я пробовал несколько разных методов, но у меня ничего не получилось. Любая помощь приветствуется, как всегда.
API Response:
<affiliate_export_response>
<success>true</success>
<row_count>1</row_count>
<affiliates>
<blacklists>
<blacklist>
<advertiser>
<advertiser_id xmlns="API:id_name_store">2</advertiser_id>
<advertiser_name xmlns="API:id_name_store">wayne's Ad</advertiser_name>
</advertiser>
<affiliate>
<affiliate_id xmlns="API:id_name_store">3</affiliate_id>
<affiliate_name xmlns="API:id_name_store">Mark Affiliate</affiliate_name>
</affiliate>
<blacklist_reason>
<blacklist_reason_id xmlns="API:id_name_store">1</blacklist_reason_id>
<blacklist_reason_name xmlns="API:id_name_store">404</blacklist_reason_name>
</blacklist_reason>
<blacklist_type>
<blacklist_type_id xmlns="API:id_name_store">3</blacklist_type_id>
<blacklist_type_name xmlns="API:id_name_store">404</blacklist_type_name>
</blacklist_type>
<date_created>2018-04-26T00:00:00</date_created>
</blacklist>
</blacklists>
<date_created>2018-01-29T11:40:58.34</date_created>
<notes />
</affiliate>
</affiliates>
</affiliate_export_response>
Code:
import requests
from bs4 import BeautifulSoup
url = 'API URL'
params = {
'param1':'dfasdf',
'param2':3
}
r = requests.get(url, params=params)
soup = BeautifulSoup(r.text, 'lxml')
for affiliate in soup.select('affiliate'):
date_created = affiliate.find('date_created').string
print(date_created)
Цель состоит в том, чтобы захватить 2018-01-29T11: 40: 58.34, но я собираю вложенный узел date_created внутри черных списков и получаю 2018-04-26T00: 00:00 вместо