python3獲取請求cookie

2021-10-19 11:06:52 字數 2318 閱讀 8372

github鏈結

# 使用python庫直接獲取cookie

defget_cookie

(url)

:"""

:param url: 請求連線應保證伺服器有set-cookie寫入操作

:return:

"""# 請求負載

data =

# 請求頭

headers =

try:

# 宣告乙個cookiejar物件例項來儲存cookie

cookie = cookiejar.cookiejar(

)# 利用urllib.request庫的httpcookieprocessor物件來建立cookie處理器,也就cookiehandler

# 通過cookiehandler建立opener

opener = request.build_opener(handler)

my_request = request.request(

url, headers=headers, data=json.dumps(data)

.encode(

"utf-8"))

# 此處的open方法開啟網頁

response = opener.

open

(my_request)

# 列印cookie資訊

return requests.utils.dict_from_cookiejar(cookie)

except exception as e:

print

(e)return

''# 通過火狐瀏覽器獲取cookie

# 通過正常的瀏覽器請求,優點是在js中的請求也會發起,因為不是所有的請求都會有set-cookie寫入

# 缺點是載入慢

deffirefox_get_cookies

(url)

:"""

:param url: 請求連線

:return:

"""c_service = service(

'geckodriver'

) driver =

anytry

: c_service.command_line_args(

) c_service.start(

) firefox_options = options(

)# 不啟動介面顯示- linux下命令列模式必須啟用

firefox_options.add_argument(

'-headless'

) driver = firefox(options=firefox_options)

driver.get(url)

# 第一次請求瀏覽器一般無法顯示cookie

# 等待第一次載入完成

time.sleep(2)

# 重新整理

driver.refresh(

)# 等待第二次載入完成

time.sleep(2)

return driver.get_cookies(

)except exception as e:

print

(e)finally

: driver.quit(

) c_service.stop(

)if __name__ ==

'__main__'

:# 只會獲取當前連線寫入的cookie

print

(get_cookie(

''))

# 附帶的請求寫入的cookie也可以查詢得到

print

(firefox_get_cookies(

''))

Python3 獲取ajax 返回內容

使用工具 瀏覽器chrome 或者firefox python3 什麼樣的頁面是使用了ajax技術?留給你回答.其中method有post和get兩種方法。區別就是get,那麼request url就是這個鏈結的返回值,使用json格式輸出 如果是post,則request url返回一般是空,aj...

Python3爬蟲連續獲取Cookies的方法

第一次獲取cookies headers url response requests.get url cookies response.cookies.get dict print cookies 第二次獲取cookies 跳過ssl驗證證書 import ssl 設定忽略ssl驗證 宣告乙個coo...

Python3處理HTTP請求

python3處理http請求的包 http.client,urllib,urllib3,requests 其中,http 比較 low level,一般不直接使用 urllib更 high level一點,屬於標準庫。urllib3跟urllib類似,擁有一些重要特性而且易於使用,但是屬於擴充套件...