Когда я использую python Finding SDK для поиска списков с помощью eBay, я обычно получаю результаты, которые содержат список, содержащий два или более элементов, которые я не ищу. Пример:
request1 = {
'keywords': "Iphone x 64gb", # I am searching for Listings of an iPhone x 64gb
'itemFilter': [
{'name': 'Condition', 'value': 'Used'},
{'name': 'currency', 'value': 'CAD'},
{'name': 'minPrice', 'value': 100.0}
],
'paginationInput': {
'entriesPerPage': 100,
'pageNumber': 13
},
'sortOrder': 'BestMatch'
}
api = find_connect(config_file='ebay.yml', siteid="EBAY-ENCA")
resp = api.execute('FindPopularItems', request1).dict() # Change from XML to dictionary
parse_response(reps) # send the dictionary of listings to be parsed
Когда я смотрю на некоторые из списков, которые были возвращены из запроса API, я могу получить что-то вроде этого
itemId: 303279232871
title: Apple iPhone X Smartphone 64GB 256GB AT&T Sprint T-Mobile Verizon or Unlocked
globalId: EBAY-US
subtitle: 30-Day Warranty - Free Charger & Cable - Easy Returns!
primaryCategory: {'categoryId': '9355', 'categoryName': 'Cell Phones & Smartphones'}
galleryURL: https://thumbs4.ebaystatic.com/pict/303279232871404000000001_2.jpg
viewItemURL: https://www.ebay.ca/itm/Apple-iPhone-X-Smartphone-64GB-256GB-AT-T-Sprint-T-Mobile-Verizon-Unlocked-/303279232871?var=602277420740
paymentMethod: PayPal
autoPay: true
postalCode: 660**
location: USA
country: US
shippingInfo: {'shippingServiceCost': {'_currencyId': 'CAD', 'value': '23.83'}, 'shippingType': 'Flat', 'shipToLocations': 'Worldwide'}
sellingStatus: {'currentPrice': {'_currencyId': 'USD', 'value': '309.0'}, 'convertedCurrentPrice': {'_currencyId': 'CAD', 'value': '436.46'}, 'sellingState': 'Active', 'timeLeft': 'P21DT20H28M35S'}
listingInfo: {'bestOfferEnabled': 'false', 'buyItNowAvailable': 'false', 'startTime': '2019-09-09T14:07:31.000Z', 'endTime': '2020-05-09T14:07:31.000Z', 'listingType': 'FixedPrice', 'gift': 'false', 'watchCount': '18'}
galleryPlusPictureURL: https://galleryplus.ebayimg.com/ws/web/303279232871_1_3459_1_00000001.jpg
condition: {'conditionId': '2500', 'conditionDisplayName': 'Seller refurbished'}
isMultiVariationListing: true # **This means that it is a multi variation listing**
topRatedListing: false
Это список Iphone x 64 ГБ и 256 ГБ, которые имеют разные цены. Там может быть даже более 2 товаров с разными ценами (клиент может захотеть, но он использовал или новый, и т. Д. c). Однако я не хочу просто удалить его из набора данных, так как API eBay возвращает максимум 10000 записей и разрешает только 5000 вызовов в день (данные по-прежнему актуальны). Как я могу отфильтровать каждый отдельный элемент из списка?