其中验证码部分采用手动输入
# coding:utf8
import requests
#识别验证码转换数据
def captcha(captcha_data):
with open("chunqiu.jpg","wb") as f:
f.write(captcha_data)
text=raw_input("输入验证码:")
return text
def chunqiuLogin():
# 构建一个session对象,可以保存cookie
sess=requests.Session()
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36",
"Connection": "keep-alive"}
# html = sess.get("https://account.flycua.com/sso/index.htm?returnUrl=http://www.flycua.com/member/member-login!loginJump.shtml", headers=headers).text
# 验证码url固定不变
image_url ="https://account.flycua.com/sso/chineseVerifyCode.images"
#发送图片的请求获取图片数据流
captcha_data=sess.get(image_url,headers=headers).content
#获取验证码里的文字,需要手动输入
text=captcha(captcha_data)
data={
"loginUser":"15888888888",
"password":"tr888888",
"verifyCode":text,
}
#先post相关登陆需要的参数,模拟登陆
response=sess.post("https://account.flycua.com/sso/login.htm",data=data,headers=headers)
#输出是否登陆成功
print response.text
# 获取登录后的个人主页
response=sess.get("https://m.flycua.com/h5/user/index.html",headers=headers)
print response.text
# 将爬取的主页转换HTML,生成my.html文件
# with open("my.html","w") as f:
# f.write(response.text.encode("utf-8"))
if __name__ == "__main__":
chunqiuLogin()