egrcc / zhihu-python

获取知乎内容信息,包括问题,答案,用户,收藏夹信息

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

验证码登录出错

yannisxu opened this issue · comments

raceback (most recent call last):
  File "auth.py", line 231, in <module>
    login()
  File "auth.py", line 214, in login
    result = upload_form(form_data)
  File "auth.py", line 137, in upload_form
    r = requests.post(url, data=form, headers=headers)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 497, in post
    return self.request('POST', url, data=data, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 455, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 558, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 378, in sendraise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='www.zhihu.com', port=80): Max retries exceeded with url: /login/email (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

@yannisxu 这个错误是 HTTP 连接错误(知乎重置了你的HTTP连接),或许是你抓取过于频繁了?

@LuoZijun 应该不是吧..我用旧的方法可以用 cookie 来登录

原因是不支持手机帐号登录

@yannisxu 但是异常确实是 ConnectionError ...

也许是 对非法的表单上传次数有限制(因为那个 表单上传中的 phone 字段是我猜测的,因为我并没有使用手机注册过的知乎帐号)。

也许你可以提供下 手机登录的 表单 数据格式(不要给出表单内容,仅仅是格式就行了)?

@LuoZijun 手机号是post到这个地址的:http://www.zhihu.com/login/phone_num ,你随便拿个试试就可以了

@LuoZijun

POST /login/phone_num HTTP/1.1
Host: www.zhihu.com
Connection: keep-alive
Content-Length: 93
Pragma: no-cache
Cache-Control: no-cache
Accept: */*
Origin: http://www.zhihu.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://www.zhihu.com/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,zh-CN;q=0.8,zh;q=0.6
Cookie: _za=5c447325-a19c-4011-a235-fda58dd91779; q_c1=3eb7490a5688468b84076dd5103c19ab|1440735409000|1440735409000; _xsrf=f41f42d575701391d433686b4078c111; tc=AQAAANpTK0smdwMAOCULev32xumdSzWX; _ga=GA1.2.52476611.1441278983; __utmt=1; cap_id="ZDk0NjViM2ExZTUzNGU2NzkwNjg2MTFkMzJhZjFmZWI=|1442204168|aeec1aaf6fcbeb797711e5829d82c72b127ff5bc"; __utma=51854390.52476611.1441278983.1442204196.1442204196.1; __utmb=51854390.2.10.1442204196; __utmc=51854390; __utmz=51854390.1442204196.1.1.utmcsr=zhihu.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __utmv=51854390.000--|3=entry_date=20150828=1

Form Data:

_xsrf:f41f42d575701391d433686b4078c111
password:*****
remember_me:true
phone_num:*****