5.1session和cookie自动登录机制
session和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模拟登录
Last updated
Was this helpful?