Ejemplo n.º 1
0
def getFollowList(user):
    url = 'https://t.jd.com/follow/vender/qryCategories.do?qryKey=&_={0}'.format(
        time.time())
    follows = []
    setHeader(user)

    try:
        response = request.openUrl(url, user, {})
        content = str(response.read(), 'utf-8')
        decodeContent = json.loads(content)

        if decodeContent.__contains__("data"):
            # logger.info(decodeContent)
            for category in decodeContent.get("data", []):
                for entry in category["entityIdSet"]:
                    follows.append(entry)
        else:
            # logger.error(decodeContent)
            if (decodeContent.get("error", "") == "NotLogin"):
                user["token"] = ""
                config.saveUserConfig(user)
                logger.info("clear token and save to config file")

    except Exception as ex:
        logger.error("账户:{0}获取店铺关注列表报错, url:{1},错误信息:{2}".format(
            user["phone"], url, ex))

    logger.info("账户:{0}关注店铺总数:{1}, 具体如下:{2}".format(user["phone"],
                                                    len(follows), follows))

    return follows
Ejemplo n.º 2
0
    def refresh_token(self):
        if (len(self.users) == 0):
            logger.info("获取用户信息失败")
            return

        for user in self.users:
            token = user["token"]
            if (len(token) == 0):
                time.sleep(3)

                token = self._login_account_token(user)
                if (len(token) == 0):
                    logger.error('获取用户[{0}]token失败'.format(user["phone"]))
                    return
                user["token"] = token
                user["time"] = self._get_current_time()
                logger.info(user)
                config.saveUserConfig(user)
                logger.info('获取用户[{0}]token成功,token:[{1}]'.format(
                    user["phone"], user["token"]))
Ejemplo n.º 3
0
def applyTryProduct(user, prodId):
    url = 'https://try.jd.com/migrate/apply?activityId={0}&source=0'.format(prodId)
    user["headers"].update({
        "Referer": url
    })

    response = request.openUrl(url, user, {})
    content = str(response.read(), 'utf-8')
    decodeContent = json.loads(content)
    logger.info("账户:{0}申请试用产品:{1}, 结果:{2}".format(user["phone"],prodId, decodeContent))

    status = decodeContent["code"]
    if (status == '-131'):
        errMsg = '账户:{0}申请试用已达到当天限制次数'.format(user["phone"])
        raise Exception(errMsg)
    if (status == '-600'):
        user["token"] = ""
        config.saveUserConfig(user)
        logger.info("清除token并保存到用户配置文件中")
        raise Exception("账户:{0}请先登录".format(user["phone"]))
Ejemplo n.º 4
0
def applyTryProduct(user, prodId):
    url = 'https://try.jd.com/migrate/apply?activityId={0}&source=0'.format(
        prodId)
    user["headers"].update({
        "Referer": url
    })

    response = request.openUrl(url, user, {})
    content = str(response.read(), 'utf-8')
    decodeContent = json.loads(content)
    logger.info("user:{2}apply product id:{0}, result:{1}".format(prodId, decodeContent, user["phone"]))

    status = decodeContent["code"]
    if (status == '-131'):
        raise Exception('user:{0}apply times is limited'.format(user["phone"]))
    if (status == '-600'):
        user["token"] = ""
        config.saveUserConfig(user)
        logger.info("clear token and save to user config file")
        raise Exception("user:{0}please login first".format(user["phone"]))
Ejemplo n.º 5
0
def saveUserConfig(user):
    config.saveUserConfig(user)