5.1session和cookie自动登录机制

xsrf攻击

user-Agent

模拟登录

pip install requests

import requests
try:
    import cookielib
except
    import http.cookiejar as cookielib
session=requests.session
session.cookies=cookielib.LWPCookieJar(filename="cookies.txt")
try:
    session.cookies.load(ignore_discard=True)
except:
    print("cookie can't load")

agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"    
header={
        "HOST":"www.zhihu.com",
        "Referer":"https://www.zhizhu.com",
        "User-Agent":agent
    }

def get_xsrf():
    # 获取xsrf
    response=requests.get("https://www.zhihu.com",header=header)
    print(response.text)
    return ""

def is_login():
    # 判断是否登录
    index_url="https://www.zhihu.com/inbox"
    response=session.get(inbox_url,headers=header,allow_redirects=False)
    if response.status_code != 200;
        return False
    else:
        return True

def zhuhu_login(account,password);
    # 模拟登录
    if re.match("^1\d{10}",account)
        print("手机号登录")
        post_url="https://www.zhihu.com/login/phone_num"
        post_data={
            "_xsrf":"",
            "phone_num":accout,
            "password":password
        }
        # request.post(post_usl,data=post_data,headers=header)
        response_text=session.post(post_usl,data=post_data,headers=header)
        session.cookie.save()

def get_index():
    #获取主页
    response=session.get("https://www.zhihu.com",headers=header)
    with open("index_page.html","wb") as f:
        f.write.response.text.encode("utf-8")
    print("ok")

zhuhu_login("18782902568","admin123")

scrapy模拟登录

https://www.zhihu.xom/robots.txt

Last updated

Was this helpful?