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
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"]))
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"]))
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"]))
def saveUserConfig(user): config.saveUserConfig(user)