繁体   English   中英

EBAY 查找 API 日期过滤

[英]EBAY Finding API Date Filtering

我正在尝试使用 ebay API 返回给定类别中已完成项目的列表。 我的代码似乎正在运行,但结果似乎非常有限(大约 100)。 我假设 api 的回溯时间会有一些限制,但即使只有几天,该类别也应该返回数千个结果。 我是否遗漏了代码中的某些内容,或者这只是 ebay API 的一个限制? 我确实确保我使用的是生产而不是沙箱。

所以我现在意识到我的查询有多个页面,最多 100 个项目/100 页。 我现在遇到了日期过滤的问题。 我在现场看到了过滤器参考资料,但仍然没有得到我期望的结果。 在更新的查询中,我试图只提取昨天完成的项目,但在运行时我正在获取今天的内容。 有没有更好的方法来输入日期过滤器?

from ebaysdk.finding import Connection as finding
from bs4 import BeautifulSoup
import os
import csv

api = finding(appid=<my appid>,config_file=None)

response = api.execute(
             'findCompletedItems', {
                        'categoryId': '214',
                        'keywords' : 'prizm', 
                        'endTimeFrom' : '2020-02-03T00:00:00.000Z',
                        'endTimeTo' : '2020-02-04T00:00:00.000Z' ,
                        'paginationInput': {
                                'entriesPerPage': '100',
                                'pageNumber': '1'
                                            },
                        'sortOrder': 'EndTimeSoonest'
                                    }
                        )

soup = BeautifulSoup(response.content , 'lxml')

totalitems = int(soup.find('totalentries').text)
items = soup.find_all('item')

for item in response.reply.searchResult.item:
    print(item.itemId)
    print(item.listingInfo.endTime)

我终于想通了这一点。 我需要为项目过滤器添加额外的代码。 工作代码如下。

from ebaysdk.finding import Connection as find from bs4 import BeautifulSoup import os import csv

api = finding(appid=<my appid>,config_file=None)

response = api.execute(
             'findCompletedItems', {
                        'categoryId': '214',
                        'keywords' : 'prizm',
                         'itemFilter': [
                                        {'name': 'EndTimeFrom', 'value': '2020-02-03T00:00:00.000Z'},
                                        {'name': 'EndTimeTo', 'value': '2020-02-04T00:00:00.000Z'}
                                        #{'name': 'MinPrice', 'value': '200', 'paramName': 'Currency', 'paramValue': 'GBP'},
                                        #{'name': 'MaxPrice', 'value': '400', 'paramName': 'Currency', 'paramValue': 'GBP'}
                                       ],
                        'paginationInput': {
                                'entriesPerPage': '100',
                                'pageNumber': '100'
                                            },
                        'sortOrder': 'EndTimeSoonest'
                                    }
                        )

soup = BeautifulSoup(response.content , 'lxml')

totalitems = int(soup.find('totalentries').text)
items = soup.find_all('item')

for item in response.reply.searchResult.item:
    print(item.itemId)
    print(item.listingInfo.endTime)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM