1
我似乎無法登錄到網站,這就需要瀏覽器authenticaton。 當您第一次登錄時,會發生什麼情況?網站將您重定向到一個頁面,上面寫着「我們發送了一封電子郵件到您的電子郵件,點擊鏈接以驗證此瀏覽器。」不能自動登錄(必須「激活」特定的瀏覽器)
我使用Python中機械化模塊。該網頁將登錄,但網站永遠不會識別「瀏覽器」,因此很多「請註冊此瀏覽器」電子郵件!我嘗試給自定義標題,以及添加一個cookie處理程序作爲其他例子...沒有運氣。每次訪問時,該網站都認爲腳本是新的(未經授權的)瀏覽器。
初始化代碼如下所示:
self.br = mechanize.Browser(factory=mechanize.RobustFactory())
self.br.add_handler(PrettifyHandler())
cj = cookielib.LWPCookieJar()
self.br.set_cookiejar(cj)
self.br.addheaders = [('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
('User-agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Ubuntu Chromium/24.0.1312.56 Chrome/24.0.1312.56 Safari/537.17'),
('Referer', 'https://www.temp.com/logout'),
('Accept-Encoding', 'gzip,deflate,sdch'),
('Accept-Language', 'en-GB,en-US;q=0.8,en;q=0.6'),
('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.3'),
]
而且我登錄的代碼如下所示。它填寫一個簡單的html表單並提交。
self.br.open('https://www.temp.com/login')
# Select the first (index zero) form
self.br.select_form(nr=0)
# User credentials
self.br.form['username'] = 'temp'
self.br.form['password'] = 'temp'
# Login
self.br.submit()
# Inventory
body = self.br.response().read().split('\n')
可是每次我得到這個電子郵件:「要激活您的瀏覽器,請單擊下面的鏈接......」我按照鏈接和激活/驗證的瀏覽器,甚至後。
太棒了!這很好用! 我認爲cj.save方法足以做到這一點 - 我立即注意到第一次登錄後,我只有一個「請驗證此瀏覽器」電子郵件。 – jorxster