簡體   English   中英

如何使用python模塊“mechanize”使用chrome擴展名“cookies.txt export”導出的cookies.txt登錄網站?

[英]How to login a website using python module “mechanize” with a cookies.txt exported by the chrome extension “cookies.txt export”?

我在stackoverflow中查看了類似的問題,但似乎沒有答案可以衡量。 現在我手中有一個cookies.txt,它由一個名為“cookies.txt”的chrome擴展名導出。 我可以執行命令“wget --load-cookies cookies.txt www.example.com”下載經過身份驗證的帳戶的網頁。

但是,當我嘗試在我的python腳本中使用此文件時遇到了一個問題,如下所示,

import mechanize

cookie = 'cookies.txt'

cookiejar = mechanize.FileCookieJar(cookies.txt)

br = mechanize.Browser()

br.set_handle_robots(False)

br.set_cookiejar(cookiejar)

url = 'www.example.com'
response = br.open(url)
s = response.read()

f = open('test.html','w')
f.write(s)
f.close()

執行此腳本后,我只有一個沒有登錄帳戶的網頁。 如果我將前幾行代碼改為此代碼

import mechanize

cookie = 'cookies.txt'
cookiejar = mechanize.MozillaCookieJar()
cookiejar.load(cookie)

我收到錯誤消息“mechanize._clientcookie.LoadError:cookies.txt看起來不像Netscape格式的cookie文件”執行腳本。

鑒於此文件在wget命令中有效,我不知道如何使用此cookies.txt完成身份驗證。

我收到相同的錯誤,直到我將其添加到我的cookie文件的頂部,現在工作。

# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file!  Do not edit.

根據機械化源代碼,類MozillaCookieJar的load方法將首先搜索正則表達式“#(Netscape)?HTTP Cookie文件”,因此您可以將此行插入導出的cookie.txt的頂部:

# Netscape HTTP Cookie File

使用cookielib模塊處理cookie。

http://docs.python.org/library/cookielib.html

具體來說,您需要了解如何使用FileCookieJar.load()

這應該讓你走上正軌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM