python登入資訊保持

網站登入以後,都是透過瀏覽器把伺服器預留的cookie再次上傳到伺服器,伺服器透過與自己下發的cookie進行比對,來確定訪問者身份的,所以,每次request的時候,必須帶上正確的cookie才可以訪問到需要登入才可以訪問的內容。

當伺服器下的response頭中,包括Set-Cookie資訊時,就是在命令瀏覽器重置cookie,這個時候我們可以儲存cookie到一個檔案,下次呼叫就不用再次登入。

具體程式碼如下:

import http。cookiejarimport urllib。requestimport osdef getweb(url): cookie_file = “cookie。txt” if os。path。isfile(cookie_file): cookie = http。cookiejar。MozillaCookieJar() cookie。load(cookie_file, ignore_discard=True, ignore_expires=True) else: cookie = http。cookiejar。MozillaCookieJar(cookie_file) handler = urllib。request。HTTPCookieProcessor(cookie) opener = urllib。request。build_opener(handler) request = urllib。request。Request(url, headers={“Connection”: “keep-alive”}) response = opener。open(request) if response。headers[‘Set-Cookie’] is not None: cookie。save(ignore_discard=True, ignore_expires=True) print(response。headers) for item in cookie: print(‘%s = %s’ % (item。name, item。value))# 按間距中的綠色按鈕以執行指令碼。if __name__ == ‘__main__’: getweb(“http://www。toutiao。com”)

以上程式碼是自動識別處理cookie資訊。