Esempio n. 1
0
def getItemPromotion(item_id, appId=0):
    d = {
        'method': 'taobao.ump.promotion.get',
        'format': 'json',
        'item_id': item_id
    }
    return request(getURL(d, appId)).text
Esempio n. 2
0
 def ver_():
     res_twice = request('msg', user, cid=cid)
     try:
         cmp_dict(exp_yz, res_twice[0])
         return True
     except Exception as e:
         return False
Esempio n. 3
0
def getItemCats(parentId):
    d = {
        'method': 'taobao.itemcats.get',
        'format': 'json',
        'fields': 'cid,parent_cid,name,is_parent,sort_order',
        'parent_cid': parentId,
        }
    return request(getURL(d)).text
Esempio n. 4
0
def getItemProps(cid):
    d = {
        'method': 'taobao.itemprops.get',
        'format': 'json',
        'fields': 'pid,name,must,multi,prop_values',
        'cid': cid,
        }
    return request(getURL(d, 1)).text
Esempio n. 5
0
def getItem(iid):
    d = {
        'method': 'taobao.item.get',
        'format': 'json',
        'fields': 'detail_url,num_iid,title,nick,type,cid,seller_cids,props,input_pids,input_str,desc,pic_url,num,valid_thru,list_time,delist_time,stuff_status,location,price,post_fee,express_fee,ems_fee,has_discount,freight_payer,has_invoice,has_warranty,has_showcase,modified,increment,approve_status,postage_id,product_id,auction_point,property_alias,item_img,prop_img,sku,video,outer_id,is_virtual',
        'num_iid': iid,
        }
    return request(getURL(d)).text
Esempio n. 6
0
def getItemProps(cid):
    d = {
        'method': 'taobao.itemprops.get',
        'format': 'json',
        'fields': 'pid,name,must,multi,prop_values',
        'cid': cid,
    }
    return request(getURL(d, 1)).text
Esempio n. 7
0
def getItemCats(parentId):
    d = {
        'method': 'taobao.itemcats.get',
        'format': 'json',
        'fields': 'cid,parent_cid,name,is_parent,sort_order',
        'parent_cid': parentId,
    }
    return request(getURL(d)).text
Esempio n. 8
0
def reqTaobaoAPI(params):
    metadata = {}
    global APP
    for i in range(len(APP)):
        metadata = json.loads(request(getURL(params, i + 1)), encoding='utf-8')
        if not metadata.has_key('error_response'):
            break
    return json.dumps(metadata, encoding='utf-8')
Esempio n. 9
0
def getUser(nick):
    d = {
        'method': 'taobao.user.get',
        'format': 'json',
        'fields': 'user_id,uid,nick,sex,buyer_credit,seller_credit,location,created,last_visit,birthday,type,status,alipay_no,alipay_account,alipay_account,email,consumer_protection,alipay_bind',
        'nick': nick,
        }
    return request(getURL(d)).text
Esempio n. 10
0
def getUsers(nicks):
    d = {
        'method': 'taobao.users.get',
        'format': 'json',
        'fields': 'user_id,nick,sex,buyer_credit,seller_credit,location,created,last_visit',
        'nicks': nicks,
        }
    return request(getURL(d, 1)).text
Esempio n. 11
0
def reqTaobaoAPI(params):
    metadata = {}
    global APP
    for i in range(len(APP)):
        metadata = json.loads(request(getURL(params, i + 1)), encoding='utf-8')
        if not metadata.has_key('error_response'):
            break
    return json.dumps(metadata, encoding='utf-8')
Esempio n. 12
0
def getItems(num_iids):
    d = {
        'method': 'taobao.items.list.get',
        'format': 'json',
        'fields': 'num_iid,props_name,cid,props,pic_url,num,valid_thru,list_time,delist_time,price,is_timing',
        'num_iids': num_iids,
        }
    return request(getURL(d, 0)).text
Esempio n. 13
0
def getUsers(nicks):
    d = {
        'method': 'taobao.users.get',
        'format': 'json',
        'fields':
        'user_id,nick,sex,buyer_credit,seller_credit,location,created,last_visit',
        'nicks': nicks,
    }
    return request(getURL(d, 1)).text
Esempio n. 14
0
def getUser(nick):
    d = {
        'method': 'taobao.user.get',
        'format': 'json',
        'fields':
        'user_id,uid,nick,sex,buyer_credit,seller_credit,location,created,last_visit,birthday,type,status,alipay_no,alipay_account,alipay_account,email,consumer_protection,alipay_bind',
        'nick': nick,
    }
    return request(getURL(d)).text
Esempio n. 15
0
def getItem(iid):
    d = {
        'method': 'taobao.item.get',
        'format': 'json',
        'fields':
        'detail_url,num_iid,title,nick,type,cid,seller_cids,props,input_pids,input_str,desc,pic_url,num,valid_thru,list_time,delist_time,stuff_status,location,price,post_fee,express_fee,ems_fee,has_discount,freight_payer,has_invoice,has_warranty,has_showcase,modified,increment,approve_status,postage_id,product_id,auction_point,property_alias,item_img,prop_img,sku,video,outer_id,is_virtual',
        'num_iid': iid,
    }
    return request(getURL(d)).text
Esempio n. 16
0
def getItems(num_iids):
    d = {
        'method': 'taobao.items.list.get',
        'format': 'json',
        'fields':
        'num_iid,props_name,cid,props,pic_url,num,valid_thru,list_time,delist_time,price,is_timing',
        'num_iids': num_iids,
    }
    return request(getURL(d, 0)).text
Esempio n. 17
0
 def ver_():
     res_twice = request('msg', user, cid=cid)
     logging.debug(res_twice)
     try:
         cmp_dict(exp_f_yz, res_twice[0])
         return True
     except Exception as e:
         logging.debug(e)
         return False
Esempio n. 18
0
def getTrades(session_key, fromTsmp, toTsmp):
    d = {
        'method': 'taobao.trades.sold.get',
        'format': 'json',
        'session': session_key,
        'fields': 'seller_nick,buyer_nick,title,type,created,sid,tid,seller_rate,buyer_rate,status,payment,discount_fee,adjust_fee,post_fee,total_fee,pay_time,end_time,modified,consign_time,buyer_obtain_point_fee,point_fee,real_point_fee,received_payment,commission_fee,pic_path,num_iid,num_iid,num,price,cod_fee,cod_status,shipping_type,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.pic_path,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.refund_status,orders.status,orders.oid,orders.total_fee,orders.payment,orders.discount_fee,orders.adjust_fee,orders.sku_properties_name,orders.item_meal_name,orders.buyer_rate,orders.seller_rate,orders.outer_iid,orders.outer_sku_id,orders.refund_id,orders.seller_type',
        'start_created': fromTsmp,
        'end_created': toTsmp,
        }
    return request(getURL(d, 2)).text
Esempio n. 19
0
def getTrades(session_key, fromTsmp, toTsmp):
    d = {
        'method': 'taobao.trades.sold.get',
        'format': 'json',
        'session': session_key,
        'fields':
        'seller_nick,buyer_nick,title,type,created,sid,tid,seller_rate,buyer_rate,status,payment,discount_fee,adjust_fee,post_fee,total_fee,pay_time,end_time,modified,consign_time,buyer_obtain_point_fee,point_fee,real_point_fee,received_payment,commission_fee,pic_path,num_iid,num_iid,num,price,cod_fee,cod_status,shipping_type,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.pic_path,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.refund_status,orders.status,orders.oid,orders.total_fee,orders.payment,orders.discount_fee,orders.adjust_fee,orders.sku_properties_name,orders.item_meal_name,orders.buyer_rate,orders.seller_rate,orders.outer_iid,orders.outer_sku_id,orders.refund_id,orders.seller_type',
        'start_created': fromTsmp,
        'end_created': toTsmp,
    }
    return request(getURL(d, 2)).text
Esempio n. 20
0
 def ver_():
     if exp_f == 1:
         exp_f_yz = {'code': 203, 'status': False, 'message': '抱歉,您已被禁言!如有疑问,请咨询客服。'}
     else:
         exp_f_yz = {'code': 200}
     res_twice = request('msg', user, cid=cid)
     logging.debug(res_twice)
     try:
         cmp_dict(exp_f_yz, res_twice[0])
         return True
     except Exception as e:
         logging.debug(e)
         return False
Esempio n. 21
0
def getZhitongcheResult(keyword, encoding='utf-8', page=1, reqinterval=0.2):
    timestamp = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
    q = repr(keyword.decode(encoding).encode('GBK')).replace('\\x',
                                                             '%').upper()[1:-1]
    ip = getMyIpInfo()['data']['ip']
    domain = \
        'http://tmatch.simba.taobao.com/?name=tbuad&catid=&pid=420434_1006,420435_1006&count=5&rct=8&o=j&keyword=%s&offset=%d&ip=%s&frontcatid=&type=0&refpid=&propertyid=&lid=&gprice=&loc=&sort=&q2cused=0&sbid=6&ismall=0&multikeys=1&p4p=__p4p_sidebar__,__p4p_bottom__&t=%d'
    metadata = []
    for pageIndex in range(page):
        url = domain % (q, 13 * pageIndex, ip, int(time.time() * 1000))
        s = request(
            url,
            reqinterval=reqinterval,
            headers={
                'Referer':
                'http://s.taobao.com/search?q=%s&style=list&bcoffset=1&sort=sale-desc&s=%d'
                % (q, 13 * pageIndex),
                'Host':
                'tmatch.simba.taobao.com'
            }).text
        for (i, t) in enumerate(re.findall(r'(\{.+?\})', s, re.S)):
            try:
                j = json.loads(t)
                metadata.append({  # 'key':eval("u'%s'"%(j['REDKEY'][j['REDKEY'].index(';')+1:j['REDKEY'].rindex('&')])).encode('utf-8'),
                    'ip': ip,
                    'keyword': keyword,
                    'rank': i + 1 + 13 * pageIndex,
                    'itemId': re.findall(r'id\=(\d+)', j['URL'
                            ])[0].encode('utf-8'),
                    'itemLink': j['URL'].encode('utf-8'),
                    'itemImg': j['TBGOODSLINK'].encode('utf-8'),
                    'itemPrompName': eval("u'%s'" % j['TITLE']).encode('utf-8'
                            ),
                    'itemTitle': eval("u'%s'" % j['ADGTITLE']).encode('utf-8'),
                    'sellerId': j['SELLERID'].encode('utf-8'),
                    'wangwang': eval("u'%s'" % j['WANGWANGID']).encode('utf-8'
                            ),
                    'price': atof(j['GOODSPRICE'].encode('utf-8')) * 1.0 / 100,
                    'location': eval("u'%s'" % j['LOCATION']).encode('utf-8'),
                    'volume': j['SELL'].encode('utf-8'),
                    'key': eval("u'%s'" % j['REDKEY']).encode('utf-8'),
                    'keys': ','.join([eval("u'%s'" % t) for t in j['REDKEYS'
                                     ]]).encode('utf-8'),
                    'time': timestamp,
                    })
            except:
                pass
    return metadata
Esempio n. 22
0
exp_t = {'code': 4000, 'status': True, 'message': '处理成功!'}
exp_f1 = {'code': '2018', 'status': False, 'data': [], 'message': '没有权限'}
exp_f2 = {'code': '4302', 'status': False, 'message': '参数错误!'}
exp_f3 = {'code': '4418', 'status': False, 'message': '您无权对本房间房管进行禁言'}
exp_f4 = {'code': '4417', 'status': False, 'message': '您无权对本房间主播进行禁言'}
exp_f5 = {'code': '4416', 'status': False, 'message': '您无权对超管进行禁言'}
exp_f6 = {'code': '4421', 'status': False, 'message': '已被禁言'}
exp_f_yz = {'code': 203, 'message': '抱歉,您已被禁言!如有疑问,请咨询客服。', 'status': False}


# 初始化禁言数据
init_gag(users,cid)
# 数据准备
# 房管禁言用户
for i in range(3, 8):
    request('gag', fg[0], cid=cid, uid=users[i])
# 房主禁言用户
for i in range(8, 10):
    request('gag', fz, cid=cid, uid=users[i])

# 二次验证方法
def ver(user):
    def ver_():
        res_twice = request('msg', user, cid=cid)
        logging.debug(res_twice)
        try:
            cmp_dict(exp_f_yz, res_twice[0])
            return True
        except Exception as e:
            logging.debug(e)
            return False
Esempio n. 23
0
 def test_msg_06(self):
     '''发言间隔'''
     user = user_ids[4]
     exp = {'status': False, 'code': 204, 'message': '你发言太快!'}
     request('msg', user, cid=cid)
     assert_res(sys._getframe(), 'msg', user, exp, cid=cid)
Esempio n. 24
0
def getUserRateList(uid, maxCount=4000):
    domain = \
        'http://rate.taobao.com/member_rate.htm?content=&result=&from=rate&user_id=%s&identity=1&rater=3&direction=1&page=$PAGE$&callback=shop_rate_list' \
        % uid
    page = 1
    metadata = []
    rateIdDict = {}
    pageStop = False
    INFO = {
        'uid':
        None,
        'aucNumId':
        None,
        'aucPrice':
        None,
        'aucSku':
        None,
        'aucTitle':
        None,
        'award':
        None,
        'content':
        None,
        'date':
        None,
        'from':
        None,
        'propertiesAvg':
        None,
        'rate':
        None,
        'rateId':
        None,
        'raterType':
        None,
        'tag':
        None,
        'tradeId':
        None,
        'useful':
        None,
        'userAvatar':
        None,
        'userNick':
        None,
        'userId':
        None,
        'validscore':
        None,
        'spuRateuRatting': [{
            'XID': None,
            'name': None,
            'value': None,
            'desc': None,
        }],
    }

    while 1:
        if pageStop:
            break
        url = domain.replace('$PAGE$', str(page))
        rateList = None
        while 1:
            try:
                rateList = request(url).text
                break
            except:
                pass
        if not rateList:
            break
        if rateList.find('(') == -1 or rateList.find(')') == -1:
            break
        rateList = json.loads(rateList[rateList.index('(') +
                                       1:rateList.rindex(')')],
                              encoding='utf-8')
        if len(rateList['rateListDetail']) == 0:
            break
        for (i, rate) in enumerate(rateList['rateListDetail']):
            if rateIdDict.has_key(rate['rateId']) or len(metadata) > maxCount:
                pageStop = True
                break
            rateIdDict[rate['rateId']] = 1
            metadata.append({
                'uid':
                uid,
                'aucNumId':
                rate['auction']['aucNumId'],
                'aucPrice':
                rate['auction']['auctionPrice'],
                'aucSku':
                rate['auction']['sku'].encode('utf-8'),
                'aucTitle':
                rate['auction']['title'].encode('utf-8'),
                'award':
                rate['award'].encode('utf-8'),
                'content':
                rate['content'].encode('utf-8'),
                'date':
                rate['date'],
                'from':
                rate['from'],
                'propertiesAvg':
                rate['propertiesAvg'],
                'rate':
                rate['rate'],
                'rateId':
                rate['rateId'],
                'raterType':
                rate['raterType'],
                'tag':
                rate['tag'],
                'tradeId':
                rate['tradeId'],
                'useful':
                rate['useful'],
                'userAvatar':
                rate['user']['avatar'],
                'userNick':
                rate['user']['nick'].encode('utf-8'),
                'userId':
                rate['user']['userId'],
                'validscore':
                rate['validscore'],
                'spuRatting': [],
            })
            metadata[-1] = dict(
                (k, (v.encode('utf-8') if isinstance(v, unicode) else v))
                for (k, v) in metadata[-1].items())
            for spuRate in rate['spuRatting']:
                metadata[-1]['spuRatting'].append({
                    'XID':
                    spuRate['XID'].encode('utf-8'),
                    'name':
                    spuRate['name'].encode('utf-8'),
                    'value':
                    spuRate['value'].encode('utf-8'),
                    'desc':
                    spuRate['desc'].encode('utf-8'),
                })
        if rateList['maxPage'] == rateList['currentPageNum']:
            break
        page += 1
    return metadata
Esempio n. 25
0
 def testapi_app_minute(self,switch,testcase,method,uri,header,body,exception):
     print(testcase)
     # res = requests.post(url=url,data=json.loads(body),headers=json.loads(header))
     res = request(method,uri,header,body)
     print(res.status_code)
     self.assertEqual(200,res.status_code,msg=None)
Esempio n. 26
0
# generate_user('adg', 2, True)
# exit()

room_data = {'room_number': 152633, 'fg_id': [5149], 'fz_name': 'adg1503058347', 'cid': 119453, 'fz_id': 5148, 'fg_name': ['adg1503058348']}
user_data = {'user_names': ['adg1503058354', 'adg1503058355'], 'user_ids': [5150, 5151]}
fz = room_data['fz_id']
fg = room_data['fg_id']
cid = room_data['cid']
users = user_data['user_ids']

# 初始化禁言数据
init_gag(user_data, room_data)
# exit()
# 数据准备
# 用户被超管管禁言
request('admingag', superuid, user_uid=users[1])
# 房主被超管禁言
request('admingag', superuid, user_uid=fz, gag_type=0)

exp_t = {'code': 4000, 'status': True, 'message': '处理成功!', 'data': {'title': '取消全平台24小时禁言'}}
exp_t2 = {'code': 4000, 'status': True, 'message': '处理成功!', 'data': {'title': '取消全平台禁言'}}
exp_f1 = {'code': '4302', 'status': False, 'data': [], 'message': '没有权限'}


# 二次验证方法
def ver(user):
    def ver_():
        exp_f_yz = {'code': 200}
        res_twice = request('msg', user, cid=cid)
        logging.debug(res_twice)
        try:
Esempio n. 27
0
             'fz_name': 'gag1503019260', 'room_number': 870041}
user_data = {'user_names': ['gag1503019282', 'gag1503019284', 'gag1503019286', 'gag1503019288', 'gag1503019289', 'gag1503019291', 'gag1503019292',
                            'gag1503019294', 'gag1503019296', 'gag1503019298', 'gag1503019299', 'gag1503019301', 'gag1503019302'],
             'user_ids': [5112, 5113, 5114, 5115, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124]}
fz = room_data['fz_id']
fg = room_data['fg_id']
cid = room_data['cid']
users = user_data['user_ids']

# 初始化禁言数据
init_gag(users, cid)

# 数据准备
# 房管禁言用户
for i in range(1, 5):
    request('gag', fg[0], cid=cid, uid=users[i])
# 房主禁言用户
for i in range(5, 8):
    request('gag', fz, cid=cid, uid=users[i])
# 超管禁言用户
for i in range(8, 11):
    request('admingag', superuid, cid=cid, uid=users[i])
# 房主禁言房管
for i in range(2, 5):
    request('gag', fz, cid=cid, uid=fg[i])
# 超管禁言房管
for i in range(5, 8):
    request('admingag', superuid, cid=cid, user_uid=fg[i])
# 超管禁言房主
request('admingag', superuid, cid=cid, user_uid=fz)
Esempio n. 28
0
def getItemPromotion(item_id, appId=0):
    d = {'method': 'taobao.ump.promotion.get', 'format': 'json',
         'item_id': item_id}
    return request(getURL(d, appId)).text
Esempio n. 29
0
    'room_number': 124072,
    'fz_name': 'gag1503056804',
    'cid': 119452
}
user_data = {'user_ids': [5147], 'user_names': ['gag1503056812']}
fz = room_data['fz_id']
fg = room_data['fg_id']
cid = room_data['cid']
users = user_data['user_ids']

# 初始化禁言数据
init_gag(users, cid)

# 数据准备
# 房管已被房主禁言
request('gag', fz, uid=fg[0])

exp_t = {
    'code': 4000,
    'status': True,
    'message': '处理成功!',
    'data': {
        'title': '全平台24小时禁言'
    }
}
exp_t2 = {
    'code': 4000,
    'status': True,
    'message': '处理成功!',
    'data': {
        'title': '全平台禁言'
Esempio n. 30
0
def getUserRateList(uid, maxCount=4000):
    domain = (
        "http://rate.taobao.com/member_rate.htm?content=&result=&from=rate&user_id=%s&identity=1&rater=3&direction=1&page=$PAGE$&callback=shop_rate_list"
        % uid
    )
    page = 1
    metadata = []
    rateIdDict = {}
    pageStop = False
    INFO = {
        "uid": None,
        "aucNumId": None,
        "aucPrice": None,
        "aucSku": None,
        "aucTitle": None,
        "award": None,
        "content": None,
        "date": None,
        "from": None,
        "propertiesAvg": None,
        "rate": None,
        "rateId": None,
        "raterType": None,
        "tag": None,
        "tradeId": None,
        "useful": None,
        "userAvatar": None,
        "userNick": None,
        "userId": None,
        "validscore": None,
        "spuRateuRatting": [{"XID": None, "name": None, "value": None, "desc": None}],
    }

    while 1:
        if pageStop:
            break
        url = domain.replace("$PAGE$", str(page))
        rateList = None
        while 1:
            try:
                rateList = request(url).text
                break
            except:
                pass
        if not rateList:
            break
        if rateList.find("(") == -1 or rateList.find(")") == -1:
            break
        rateList = json.loads(rateList[rateList.index("(") + 1 : rateList.rindex(")")], encoding="utf-8")
        if len(rateList["rateListDetail"]) == 0:
            break
        for (i, rate) in enumerate(rateList["rateListDetail"]):
            if rateIdDict.has_key(rate["rateId"]) or len(metadata) > maxCount:
                pageStop = True
                break
            rateIdDict[rate["rateId"]] = 1
            metadata.append(
                {
                    "uid": uid,
                    "aucNumId": rate["auction"]["aucNumId"],
                    "aucPrice": rate["auction"]["auctionPrice"],
                    "aucSku": rate["auction"]["sku"].encode("utf-8"),
                    "aucTitle": rate["auction"]["title"].encode("utf-8"),
                    "award": rate["award"].encode("utf-8"),
                    "content": rate["content"].encode("utf-8"),
                    "date": rate["date"],
                    "from": rate["from"],
                    "propertiesAvg": rate["propertiesAvg"],
                    "rate": rate["rate"],
                    "rateId": rate["rateId"],
                    "raterType": rate["raterType"],
                    "tag": rate["tag"],
                    "tradeId": rate["tradeId"],
                    "useful": rate["useful"],
                    "userAvatar": rate["user"]["avatar"],
                    "userNick": rate["user"]["nick"].encode("utf-8"),
                    "userId": rate["user"]["userId"],
                    "validscore": rate["validscore"],
                    "spuRatting": [],
                }
            )
            metadata[-1] = dict(
                (k, (v.encode("utf-8") if isinstance(v, unicode) else v)) for (k, v) in metadata[-1].items()
            )
            for spuRate in rate["spuRatting"]:
                metadata[-1]["spuRatting"].append(
                    {
                        "XID": spuRate["XID"].encode("utf-8"),
                        "name": spuRate["name"].encode("utf-8"),
                        "value": spuRate["value"].encode("utf-8"),
                        "desc": spuRate["desc"].encode("utf-8"),
                    }
                )
        if rateList["maxPage"] == rateList["currentPageNum"]:
            break
        page += 1
    return metadata