Как использовать Python xml.etree.ElementTree для анализа ответа API eBay?
Я пытаюсь использовать xml.etree.ElementTree для анализа ответов от API поиска eBay, findItemsByProduct. После долгих проб и ошибок я придумал этот код, который печатает некоторые данные:
import urllib
from xml.etree import ElementTree as ET
appID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
isbn = '3868731342'
namespace = '{http://www.ebay.com/marketplace/search/v1/services}'
url = 'http://svcs.ebay.com/services/search/FindingService/v1?' \
+ 'OPERATION-NAME=findItemsByProduct' \
+ '&SERVICE-VERSION=1.0.0' \
+ '&GLOBAL-ID=EBAY-DE' \
+ '&SECURITY-APPNAME=' + appID \
+ '&RESPONSE-DATA-FORMAT=XML' \
+ '&REST-PAYLOAD' \
+ '&productId.@type=ISBN&productId=' + isbn
root = ET.parse(urllib.urlopen(url)).getroot()
for parts in root:
if parts.tag == (namespace + 'searchResult'):
for item in list(parts):
for a in list(item):
if a.tag == (namespace + 'itemId'):
print 'itemId: ' + a.text
if a.tag == (namespace + 'title'):
print 'title: ' + a.text
Но это выглядит не очень элегантно, как я могу получить 'itemId' и 'title', не перебирая все атрибуты и не проверяя, нужен ли мне тот? Я пытался использовать такие вещи, как.get(namespace + 'itemId')
а также.find(namespace + 'itemId')
а также.attrib.get(namespace + 'itemId')
но на самом деле ничего не получалось.
Может кто-нибудь показать мне, как сделать это с помощью некоторой оболочки Python для этого API? Я виделeasyBay, Ebay-СДК-питон а такжеpyeBay но мне не удалось заставить кого-либо из них делать то, что я хочу. Есть ли какой-нибудь eBay Python API, который стоит использовать для этого?