Python realizes pinduoduo product details interface API

Recently, I need to use some interfaces of Pinduoduo, but the official did not provide the python sdk, so I simply wrote an api for the commodity SKU interface .

1. Code

#!/usr/bin/python3# -*- coding: utf-8 -*-# @Time    : 2020/3/29 0021 下午 19:40# @Author  : xiaozhi!# @FileName: pdd_api# @Software: PyCharmimport timeimport hashlibimport requestsfrom urllib.parse import urlencode
class PddApi:    host = "https://gw-api.pinduoduo.com/api/router?"    headers = {
   
           "accept": "application/json"    }
    def __init__(self, id=None, token=None, secret=None):        """        初始化        """        self.client_id = id        self.secret = secret        self.access_token = token        self.data_type = "JSON"
    def sign_md5(self, params):        """        对拼接好的字符串进行md5签名        """        hl = hashlib.md5()        hl.update(params.encode(encoding='utf-8'))        return hl.hexdigest().upper()
    def splice_str(self):        """        升序排序请求参数,连接字符串,并在首尾加上client_secret        """        self.timestamp = f"{time.time()}".split(".")[0]        pdd_dict = self.__dict__.copy()        secret = self.secret        del pdd_dict["secret"]        reverse_list = sorted([(k, str(v)) for k, v in pdd_dict.items()], key=lambda x:x[0])        reverse_list.insert(0, ("", secret))        reverse_list.append(("", secret))        reverse_list_str = list(map(lambda x: "".join(x), reverse_list))        params = "".join(reverse_list_str)        return params, pdd_dict
    def urlencode_data(self, params, pdd_dict):        pdd_dict["sign"] = self.sign_md5(params)        result = urlencode(pdd_dict)        url = f"{self.host}{result}"        return url
    def pdd_order_list_get(self, **kwargs):        """        获取订单列表        kwargs: order_status=None, refund_status=None, start_confirm_at=None, end_confirm_at=None,                           page=None, page_size=None        """        res_type = "pdd.order.list.get"        self.type = res_type        for k, v in kwargs.items():            setattr(self, k, v)        params, pdd_dict = self.splice_str()
        url = self.urlencode_data(params, pdd_dict)        return self.response_json(url=url)
    def pdd_order_information_get(self, order_sn=None):        """        获取订单详情        """        res_type = "pdd.order.information.get"        self.order_sn = order_sn        self.type = res_type        params, pdd_dict = self.splice_str()        url = self.urlencode_data(params, pdd_dict)        return self.response_json(url=url)
    def pdd_order_status_get(self, order_sns=None):        """        订单状态        """        res_type = "pdd.order.status.get"        self.order_sns = order_sns        self.type = res_type        params, pdd_dict = self.splice_str()        url = self.urlencode_data(params, pdd_dict)        return self.response_json(url=url)
    def pdd_erp_order_sync(self, **kwargs):        """        erp打单信息同步,        kwargs: order_sn=None, order_state=None, waybill_no=None, logistics_id=None        """        res_type = "pdd.erp.order.sync"        self.type = res_type        for k, v in kwargs.items():            setattr(self, k, v)        params, pdd_dict = self.splice_str()        url = self.urlencode_data(params, pdd_dict)        return self.response_json(url=url)
    def pdd_order_number_list_increment_get(self, **kwargs):        """        订单增量接口        kwargs: is_lucky_flag=None, order_state=None, start_updated_at=None, end_updated_at=None,page_size=None,        page=None, refund_status=None        """        res_type = "pdd.order.number.list.increment.get"        self.type = res_type        for k, v in kwargs.items():            setattr(self, k, v)        params, pdd_dict = self.splice_str()        url = self.urlencode_data(params, pdd_dict)        return self.response_json(url=url)
    def response_json(self, url):        res = requests.post(url=url, headers=self.headers)        return res.json()

2. Call:

picture

3. Results:

picture

return value

{
	  "items": {
		"keyword": "女装",
		"page": "1",
		"real_total_results": 300,
		"total_results": 300,
		"list_count": 20,
		"item": [
			{
				"title": "【三件套】新款秋冬季女装套装裙皮草短外套搭打底衫毛衣配半身裙",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-06-05/b15035efb5913e1e8b647422010522c1.jpeg",
				"price": 134,
				"promotion_price": 134,
				"sales": 18000,
				"num_iid": 43992967514,
				"sample_id": "",
				"seller_nick": "果果家气质女装",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=43992967514"
			},
			{
				"title": "【2件套】套装秋冬新款仿獭兔毛钉珠皮草毛毛短外套加厚大衣女装",
				"pic_url": "https://omsproductionimg.yangkeduo.com/images/2018-06-06/463c0e2a5580ba3266846e41fe3e444a.jpeg",
				"price": 169,
				"promotion_price": 169,
				"sales": 40000,
				"num_iid": 1620002566,
				"sample_id": "",
				"seller_nick": "果果家气质女装",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=1620002566"
			},
			{
				"title": "仿水貂毛皮草外套女冬短款韩版修身显瘦百搭毛绒加厚新娘披肩礼服",
				"pic_url": "https://omsproductionimg.yangkeduo.com/images/2018-01-03/1f3866498a067e00e39a38fe144ec5f3.jpeg",
				"price": 88,
				"promotion_price": 88,
				"sales": 218,
				"num_iid": 410684172,
				"sample_id": "",
				"seller_nick": "乐荣源淘衣坊",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=410684172"
			},
			{
				"title": "仿貂毛大衣女秋冬加厚仿狐狸毛领皮草外套女长款仿水貂绒外套显瘦",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-06-28/f6ea981d0cfe5dc096af33457328c819.jpeg",
				"price": 298,
				"promotion_price": 298,
				"sales": 42000,
				"num_iid": 144592781204,
				"sample_id": "",
				"seller_nick": "珞摩服装旗舰店",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=144592781204"
			},
			{
				"title": "三件套裙套装新款秋冬女韩版钉珠皮草短外套搭打底衫毛衣配半身裙",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-09-24/1fd6806d8de95adce0196294765079f1.jpeg",
				"price": 269,
				"promotion_price": 269,
				"sales": 2525,
				"num_iid": 2748395485,
				"sample_id": "",
				"seller_nick": "蹦蹦服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=2748395485"
			},
			{
				"title": "三件套2020新款秋冬季皮草裙套装女短外套搭打底衫毛衣配半身裙子",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-10-22/97440d8034ad1a319e71cd501aa6d9bc.jpeg",
				"price": 239,
				"promotion_price": 239,
				"sales": 119,
				"num_iid": 4544773413,
				"sample_id": "",
				"seller_nick": "自然之美服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=4544773413"
			},
			{
				"title": "三件套裙套装2020新款秋冬季皮草女短外套搭打底衫毛衣配半身裙子",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-10-23/0e5aa1adb63ce256664d4274d0ff0fa1.jpeg",
				"price": 188,
				"promotion_price": 188,
				"sales": 1587,
				"num_iid": 3540607180,
				"sample_id": "",
				"seller_nick": "自然之美服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=3540607180"
			},
			{
				"title": "2020秋冬装毛毛钉珠仿皮草外套新款韩版修身圆领学生上衣【单件】",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2021-01-28/503c10fe716873ceaccf103c30881908.jpeg",
				"price": 79,
				"promotion_price": 79,
				"sales": 1157,
				"num_iid": 35225305026,
				"sample_id": "",
				"seller_nick": "夏衣伊人",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=35225305026"
			},
			{
				"title": "两件套秋冬新款气质钉珠仿皮草外套配刺绣半身裙保暖加厚上衣女装",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-09-17/5d57e2f0df37b13f5472d03175246d28.jpeg",
				"price": 139,
				"promotion_price": 139,
				"sales": 2616,
				"num_iid": 369492636,
				"sample_id": "",
				"seller_nick": "蹦蹦服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=369492636"
			},
			{
				"title": "2020秋冬装毛毛钉珠仿皮草外套新款韩版修身圆领淑女上衣【单件】",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2021-01-28/b208cc827f66c0b5eac9d40762178d28.jpeg",
				"price": 88,
				"promotion_price": 88,
				"sales": 232,
				"num_iid": 3540686169,
				"sample_id": "",
				"seller_nick": "自然之美服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=3540686169"
			},
			{
				"title": "2018秋冬装毛毛钉珠仿皮草外套新款韩版修身圆领学生上衣【单件】",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2018-09-24/22c7a21f49c4ddfe228acc5d15c1bbe0.jpeg",
				"price": 138,
				"promotion_price": 138,
				"sales": 210,
				"num_iid": 3062555797,
				"sample_id": "",
				"seller_nick": "果果家气质女装",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=3062555797"
			},
			{
				"title": "三件套网红裙套装新款秋冬女钉珠皮草搭打底衫毛衣配半身裙短外套",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/images/2019-09-10/403fae6f0c281b247e305559cff71cca.jpeg",
				"price": 269,
				"promotion_price": 269,
				"sales": 144,
				"num_iid": 35224334938,
				"sample_id": "",
				"seller_nick": "夏衣伊人",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=35224334938"
			},
			{
				"title": "单件外套短款女秋冬新品海宁仿皮草韩版宽松显瘦百搭钉珠圆领上衣",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-09-24/55a25e3b612a5ba2655046718a20c0ab.jpeg",
				"price": 88,
				"promotion_price": 88,
				"sales": 2314,
				"num_iid": 368488818,
				"sample_id": "",
				"seller_nick": "蹦蹦服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=368488818"
			},
			{
				"title": "粗花呢套装女2020秋冬新款小香风时尚洋气小西装包臀裙休身显瘦潮",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-07-16/84ffe1375b1d3b1a6455b9c387cd495b.jpeg",
				"price": 139,
				"promotion_price": 139,
				"sales": 216,
				"num_iid": 150435444702,
				"sample_id": "",
				"seller_nick": "小清新职装",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=150435444702"
			},
			{
				"title": "啄木鸟加厚羽绒棉衣女冬季新款胖mm宽松显瘦棉服外套女士大码棉袄",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-11-24/a8798a380a8e64503a3b6f2df3cdc5e6.jpeg",
				"price": 148,
				"promotion_price": 148,
				"sales": 2866,
				"num_iid": 203004819547,
				"sample_id": "",
				"seller_nick": "啄木鸟清晚田专卖店",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=203004819547"
			},
			{
				"title": "小香风套装裙女秋冬两件套裙子时尚气质贵夫人高档显瘦小西服上衣",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-09-20/11b73b78660ce240318981f36fedb20b.jpeg",
				"price": 106.8,
				"promotion_price": 106.8,
				"sales": 3585,
				"num_iid": 179099550022,
				"sample_id": "",
				"seller_nick": "蝶之语服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=179099550022"
			},
			{
				"title": "粉色小西装春季新款名媛小香风套装裙两件套韩版时尚百搭收腰显瘦",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-03-17/2c08521a36bae37e004a5cfe15fcddb1.jpeg",
				"price": 119,
				"promotion_price": 119,
				"sales": 136,
				"num_iid": 94383041769,
				"sample_id": "",
				"seller_nick": "小清新职装",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=94383041769"
			},
			{
				"title": "小清新刺绣两件套套装裙兔毛领拼接短外套毛呢连衣裙秋冬甜美新款",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2019-10-07/6f734d1717a3339a74cff707d9ec82c0.jpeg",
				"price": 688,
				"promotion_price": 688,
				"sales": 3602,
				"num_iid": 50964999845,
				"sample_id": "",
				"seller_nick": "木木时尚服饰",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=50964999845"
			},
			{
				"title": "毛呢两件套装裙子女2021春秋季新款中长连衣裙修身妈妈装短款外套",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-03-12/d9b47beb0f7306f132216c910640f830.jpeg",
				"price": 89.8,
				"promotion_price": 89.8,
				"sales": 32000,
				"num_iid": 2713732007,
				"sample_id": "",
				"seller_nick": "露雪颜旗舰店",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=2713732007"
			},
			{
				"title": "白鸭绒2020冬季新款网红苏苏羽绒服女中长款大毛领收腰加厚外套潮",
				"pic_url": "https://t00img.yangkeduo.com/goods/images/2020-12-13/735fb9bd599594a424f3f22957aafd06.jpeg",
				"price": 299,
				"promotion_price": 299,
				"sales": 3292,
				"num_iid": 45642569064,
				"sample_id": "",
				"seller_nick": "晗晗羽绒厂家店",
				"post_fee": "",
				"area": "",
				"detail_url": "http://yangkeduo.com/goods.html?goods_id=45642569064"
			}
		]
	},

Guess you like

Origin blog.csdn.net/onebound_linda/article/details/131808061