def getQRCode(enableCmdQR):
payload = {'_ksTS': str(time.time()), 'from': 'alimama'}
qrCodeObj = utils.fetchAPI('https://qrlogin.taobao.com/qrcodelogin/generateQRCode4Login.do', payload,
"json", None, True, True)
print(qrCodeObj)
utils.printQRCode('http:' + qrCodeObj['url'], enableCmdQR)
lgToken = qrCodeObj['lgToken']
return lgToken
def login(enableCmdQR=False):
lgToken = getQRCode(enableCmdQR)
code = 0
successLoginURL = ""
while code != 10006:
payload = {'lgToken': lgToken,
'defaulturl': 'http%3A%2F%2Flogin.taobao.com%2Fmember%2Ftaobaoke%2Flogin.htm%3Fis_login%3D1&_ksTS=' + str(
time.time())}
rObj = utils.fetchAPI('https://qrlogin.taobao.com/qrcodelogin/qrcodeLoginCheck.do', payload, "json", True,
False)
code = int(rObj['code'])
if 10000 == code:
# print("请扫描二维码登录")
continue
elif 10001 == code:
print("已扫描二维码,请在确认登录")
elif 10004 == code:
print("已过期请重新扫描")
login()
elif 10006 == code:
successLoginURL = rObj["url"]
print("登录成功,正在跳转")
else:
print("未知错误,退出执行")
sys.exit(0)
time.sleep(5)
print "登录成功跳转:" + successLoginURL
r = utils.fetchAPI(successLoginURL, None, "raw", True, False, True)
utils.fetchAPI(r.headers['Location'], None, "raw", True, True, False)
def save_cookies(cookies, overWrite=False):
try:
currentCookie = requests.utils.dict_from_cookiejar(cookies)
if len(currentCookie) < 1:
return
oldCookie = requests.utils.dict_from_cookiejar(load_cookies())
with open(config.COOKIE_FILE, 'w') as f:
if not overWrite:
cookieDict = dict(oldCookie, **currentCookie)
else:
cookieDict = requests.utils.dict_from_cookiejar(cookies)
pickle.dump(cookieDict, f)
print 'Saved cookie'
print cookieDict
f.close()
except:
print 'Save cookies failed', sys.exc_info()[0]
sys.exit(99)
def load_cookies():
try:
with open(config.COOKIE_FILE, 'r') as f:
cookies = requests.utils.cookiejar_from_dict(pickle.load(f))
f.close()
except:
cookies = []
return cookies
s = requests.Session()
# 统一请求API
def fetchAPI(url, params=None, resultFormat="text", isNeedCookie=True, allowRedirects=True, saveCookie=False,
method='GET'):
try:
cookies = load_cookies()
if 'POST' == method:
response = s.post(url, data=params, headers=config.Headers, cookies=cookies)
else:
response = s.get(url, params=params, headers=config.Headers, cookies=cookies,
allow_redirects=allowRedirects)
if "json" == resultFormat:
result = response.json()
elif "raw" == resultFormat:
result = response
else:
result = response.text
# if saveCookie:
# print 'save cookie:' + str(response.cookies)
save_cookies(response.cookies)
return result
except Exception, e:
print e
return False
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有