PYTHON 之 自動登入
很多時候訪問一個網站都得需要我們登入後才能訪問,於是我做了一個小指令碼,可以自動登入。
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()