很多时候访问一个网站都得需要我们登录后才能访问,于是我做了一个小脚本,可以自动登录。
import urllib.request,urllib.parse,urllib.error //导入包
from http import cookiejar //导入包
Login_url="http://xxxxxxxxxxxxxxxxxxxxx" //登录界面的网址
values={'username':'aaaaa','password':'dddddd'} //你的用户名 密码 这个东东 得自己取审查元素 看看需要什么
data=urllib.parse.urlencode(data).decode() //把传入的数据格式化
user_agent = r'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36' //伪造浏览器登录
headers = {'User-Agent':user_agent, 'Connection': 'keep-alive'} //伪造浏览器登录
filename="cookie.txt" //创建一个本地txt问件
cookie=cookiejar.MozillaCookiejar(filename) //相当于创建一个cookie实例
handler=urllib.request.HttpCookieProcessor(cookie) //一个处理器
opener=urilib.request.bulid_opener(handler) //这个东东是用来获取cookie后来登录的
request=urllib.request.Request(Login_url,data,headers)
opener.open(request)
cookie.save(ignore_discard=True, ignore_expires=True)
get_url="需要登录后才能进入的网址"
get_request(get_url,header)
get_res=opener.open(get_request)
print(get_res.read.decode())
cookie小总结:在操作cookie时,都是分五步,如下:
进行导包,至关重要的一步,不导包直接出错。
获取cookie处理对象,使用cookiejar包
创建cookie处理器,使用request.HTTPCookieJarProcessor()
利用cookie处理器构建opener,使用request.build_opener()
进行请求网站,用opener.open(),这个不能用request.urlopen()