前言:
眼前你们对“python框架模拟登录”大约比较讲究,各位老铁们都想要知道一些“python框架模拟登录”的相关文章。那么小编也在网络上收集了一些对于“python框架模拟登录””的相关内容,希望小伙伴们能喜欢,大家快快来学习一下吧!#导入需要的库
import requests #导入requests库,用来做网页请求
from bs4 import BeautifulSoup #导入BeautifulSoup库,用来解析网页元素
import time #导入time库,用来获取当前时间戳
from PIL import Image #导入Image库,用来显现获取并保存在本地的验证码
#构造请求头头部信息
headers={}
headers["User-Agent"]="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
headers["Host"]=""
headers["Referer"]=""
#构造能自动处理cookie的session会话
session = requests.Session()
starturl=""
startresponse = session.get(starturl,headers=headers)
#获取xsrf信息
soup = BeautifulSoup(startresponse.text,"html.parser")
xsrfs = homesoup.find("input",{"name":"_xsrf"})
xsrf = xsrfs["value"]
#获取验证码文件(知乎的验证码链接地址中包含一个时间戳),因为验证码只是一次临时的这里选择保存本地人工识别,多的可以接入云端打码
randomtime = str(time.time()*1000)
captcharurl = ""+randomtime+"&type=login"
captcharesponse = session.get(captcharurl,headers=headers)
def getcaptcha():
with open("checkcode.gif","wb") as f:
f.write(captcharesponse.content)
f.close()
im = Image.open('checkcode.gif')
im.show()
captcha = input('请输入验证码: ')
return captcha
#模拟登录
headers["X-Xsrftoken"]=xsrf
headers["X-Requested-With"]="XMLHttpRequest"
loginurl = ""
postdata = {"phone_num":手机号,"password":密码,"captcha":getcaptcha()}
loginresponse = session.post(loginurl,data=postdata,headers=headers)
#打印服务器端响应信息(知乎登录成功的response信息是json形式,单纯.text有乱码)
print(loginresponse.json())
这里仅以手机号登录为例,邮箱登录,道理一样!
人生苦短,我用python!
编程改变生活!
请关注头条号:中玉科技
标签: #python框架模拟登录