Skip to content

Commit 1df9cc8

Browse files
author
Anonymous Committer
committed
refactor: add taobao.search_item_list_v1
1 parent 80c4333 commit 1df9cc8

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

justoneapi/apis/taobao.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,31 @@ def get_item_sale_v5(self, item_id: str):
155155
}
156156
return request_util.get_request(url, params)
157157

158+
def search_item_list_v1(self, keyword: str, sort: str, page: int, tmall: bool = False, start_price: str = None, end_price: str = None):
159+
url = f"{self.base_url}/api/taobao/search-item-list/v1"
160+
params = {
161+
"token": self.token,
162+
"keyword": keyword,
163+
"sort": sort,
164+
"page": page,
165+
}
166+
if tmall:
167+
params["tmall"] = tmall
168+
if start_price:
169+
params["startPrice"] = start_price
170+
if end_price:
171+
params["endPrice"] = end_price
172+
173+
has_next_page = False
174+
result, data, message = request_util.get_request_page(url, params)
175+
try:
176+
if data:
177+
if data.get("model", {}).get("page", {}).get("totalPages", 0) > page:
178+
has_next_page = True
179+
except Exception as e:
180+
logger.warning(f"Pagination parse error at {url}. Contact us to fix it.")
181+
return result, data, message, has_next_page
182+
158183
def search_item_list_v6(self, keyword: str, sort: str, page: int, tab: str = None, start_price: str = None, end_price: str = None):
159184
url = f"{self.base_url}/api/taobao/search-item-list/v6"
160185
params = {

tests/test_taobao.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ def test_search_item_list_v6(self):
6767
print(json.dumps(data, ensure_ascii=False))
6868

6969
def test_get_shop_item_list_v1(self):
70-
result, data, message, has_next_page = self.client.taobao.get_shop_item_list_v1(user_id="2824260419", shop_id="151272028", page=1)
70+
result, data, message, has_next_page = self.client.taobao.get_shop_item_list_v1(user_id="2824260419",
71+
shop_id="151272028", page=1)
7172
if result:
7273
print(json.dumps(data, ensure_ascii=False))
74+
75+
def test_search_item_list_v1(self):
76+
result, data, message, has_next_page = self.client.taobao.search_item_list_v1(keyword="deepseek", sort="_sale",
77+
page=1)
78+
if result:
79+
print(json.dumps(data, ensure_ascii=False))
80+

0 commit comments

Comments
 (0)