-1
我正在使用python mechanize製作登錄腳本。我已經讀過機械化的Browser()對象會自動處理cookie以便進一步請求。 我怎樣才能使這個cookie持久存在,即保存到一個文件,以便我可以稍後從該文件加載。 我的腳本當前正在使用Browser()對象每次運行時登錄(使用機械化/ HTML表單)到網站。Cookie的持久性
我正在使用python mechanize製作登錄腳本。我已經讀過機械化的Browser()對象會自動處理cookie以便進一步請求。 我怎樣才能使這個cookie持久存在,即保存到一個文件,以便我可以稍後從該文件加載。 我的腳本當前正在使用Browser()對象每次運行時登錄(使用機械化/ HTML表單)到網站。Cookie的持久性
如果你經歷了機械化的API文檔在
http://wwwsearch.sourceforge.net/mechanize/doc.html
沒有關於具體你要問什麼,特別是CookieJar
和LWPCookieJar
材料的一些信息。
從文檔:
也有其可以存儲Cookie在文件和數據庫中的一些CookieJar子類。 FileCookieJar是CookieJars的抽象類,可以將Cookie存儲在磁盤文件中。 LWPCookieJar以與libwww-perl庫兼容的格式保存cookie。
import mechanize
cj = mechanize.LWPCookieJar()
cj.revert("cookie3.txt")
opener = mechanize.build_opener(mechanize.HTTPCookieProcessor(cj))
r = opener.open("http://foobar.com/")
cj.save("cookie3.txt")
編輯:如果你想存儲cookie在人類可讀的文件這個類是方便了什麼是要求在評論
第三行出錯。沒有名爲'cookie3.txt'的文件(我試圖創建一個空的cookie3.txt文件,沒有工作)。我還需要使用像'open()','find_link()','click_link()'等'Browser()'方法,通過加載保存的cookie ... – user2332665
你得到了'No file named'錯誤,因爲它不存在。我發佈的代碼是一個使用示例,而不是'將其插入代碼中'。至於使用瀏覽器,那麼就這樣做?你可以調用Browser()。set_cookie_jar(cj)'來設置它的cookies。這不是原來的問題,但是如果你不想如何堅持你的cookies,你應該修改它。 –
我沒有得到我的答案。也許我會告訴你我需要做什麼1)訪問網站'http://m.mobile9.com/'在您的網頁瀏覽器。你第一次從你的瀏覽器訪問這個網站(即所有你的瀏覽器從這個網站的cookies應該被清除)2)因爲這是你第一次向你展示一個電話選擇器頁面3)讓我們選擇一個電話,說'諾基亞6300'4)你會被重定向到網址'http://gallery.mobile9.com/o/nokia+6300_409/'5)下次你訪問'http://m.mobile9.com/'你會在第4步自動重定向到url 6)這是我想/不能每次都選擇電話 – user2332665