python的requests登录到知乎

import requests
import re
import time
from subprocess import Popen


headers ={
     'Accept':'*/*' ,
     'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
     'X-Requested-With':'XMLHttpRequest',
     'Referer':'http://www.zhihu.com',
     'Accept-Language':'zh-CN',
     'Accept-Encoding':'gzip, deflate',
     'User-Agent':'Mozilla/5.0(Windows NT 6.1;WOW64;Trident/7.0;rv:11.0)like Gecko',
     'Host':'www.zhihu.com'
     }

s =requests.session()
r = s.get('http://www.zhihu.com',headers =headers)
def getXSRF(r):
    cer = re.compile('name=\"_xsrf\" value=\"(.*)\"', flags = 0)
    strlist = cer.findall(r.text)
    return strlist[0]
_xsrf =getXSRF(r)

print(r.request.headers)
print(str(int(time.time()*1000)))
Captcha_URL= 'http://www.zhihu.com/captcha.gif?r='+ str(int(time.time()*1000))
r = s.get(Captcha_URL,headers =headers)

with open('code.gif','wb') as f:
    f.write(r.content)
Popen('code.gif',shell =True)
captcha =input('captcha: ')
login_data ={
    '_xsrf':_xsrf,
    'email':'xxxxx',
    'password': 'xxxx',
    'remember_me':'true',
    'captcha':captcha
    }

s.post('http://www.zhihu.com/#signin',data=login_data,headers=headers)
r =s.get('http://www.zhihu.com')
print(r.text)

输入验证码后还是无法登录

阅读 6.5k
1 个回答
新手上路,请多包涵

为何我的错误一直是10030登录过于频繁 但是网页却可以登录?

推荐问题