python编程快速上手(持续更新中…)
文章目录
邮乐网(http://www.ule.com/)
处理cookie相关请求
1.通过外部浏览器获取cookies登录
headers= {“User-Agent”:"…",“Cookie”:“cookie 字符串”}
import requests
url = 'https://my.ule.com/myid/mev2.do'
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
"Cookie":'JSESSIONID=020C2A79B18306676F2151660A9B94AB; postSessionID=0d792defb6b2eed17d76d40237a9adac; tecid=686d7f4336f6e6f5dbd8; ul_adid=seo_baidu_0; Hm_lvt_35367fc738ea2f'}
response = requests.get(url,headers=headers)
with open("mev2_01.html","w",encoding="utf-8") as f:
f.write(response.content.decode())
2.通过发送get请求,带上cookie字典
(略)
3.直接账号和密码登录
mf = requests.session()
# 因为原始的session.cookies 没有save()方法,所以需要用到cookielib中的方法LWPCookieJar,
# 这个类实例化的cookie对象,就可以直接调用save方法。
mf.cookies = cookielib.LWPCookieJar(filename = "mfcookies.txt")
post_url = ""
post_data = {
"passport": account,
"password": password,
}
header = {
"Referer": "",
'User-Agent': userAgent,
}
# 使用session直接post请求
mf.post(post_url, data = post_data, headers = header)
# 登录成功之后,将cookie保存在本地文件中
mf.cookies.save()
# 使用cookies登录
mf.cookies.load()
Session登录
1.session先发送post请求,获取cookie,带上cookie请求登录后的页面
经验:请求码302
session=request.session() #实例化session对象
session.post(url, data=data, headers=header) # 更新session为有账号密码登录成功的session
response=session.get(url,header) #使用session对象发送get请求 就能获取服务端设置的session对象
例
2.基本使用方案2
cookiejar = response.cookies
cookie = requests.utils.dict_from_cookiejar(cookiejar)
requests.post(url=url_message, data=data, headers=headers, cookies=cookie)