使用python脚本模拟登录知乎

python登录知乎—无验证码

import requests
from bs4 import BeautifulSoup

class ZHIHU():

def __init__(self):
    self.login_url = 'https://www.zhihu.com/login/phone_num'

    self.login_data = {'phone_num':'xxxxxxxxxxx',
                       'password':'xxxxxxxx'}

    self.headers = {'Host':'www.zhihu.com',
                    'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}


def login_in(self):
    session = requests.session()
    response1 = requests.get('https://www.zhihu.com/', headers=self.headers)
    soup1 = BeautifulSoup(response1.text, 'html.parser')
    xsrf = soup1.find('input',attrs={'name':'_xsrf'})['value']
    self.login_data['_xsrf']=xsrf

    response2 = session.post(self.login_url, data=self.login_data, headers=self.headers)
    print(response2.text)
    return session

zhihu_spider = ZHIHU()
zhihu_spider.login()

登录成功(r=0),输出如下内容:
{“r”:0,
“msg”: “\u767b\u5f55\u6210\u529f”
}
登录失败(r=1),如密码错误时输出如下内容:
{
“r”: 1,
“errcode”: 100005,

"data": {"password":"\u5e10\u53f7\u6216\u5bc6\u7801\u9519\u8bef"},


"msg": "\u5e10\u53f7\u6216\u5bc6\u7801\u9519\u8bef"

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值