2015-09-04 44 views
1

我想要製作一個python應用程序,可以從我的大學的LMS中刪除一些數據,以檢查是否有新文件,如果是,那麼將它們下載到我的本地目錄。用警報窗口認證刮一個網站

但是,使用我的登錄名和密碼來保護對頁面的訪問,但是沒有該網站的html登錄表單這樣的事情,它只是一個警報窗口類型的彈出窗口,我把我的登錄名/密碼您通常在登錄路由器時執行此操作),並且我不確定如何繼續操作。

有人可以幫我解決問題嗎?或者指點我一些資源,如何在嘗試刮擦之前驗證此類網站的連接?無論是機械還是其他。

謝謝。

+0

該警報窗口發佈到某個東西。你的網絡標籤告訴你什麼? – IanAuld

+0

這就是HTTP基本身份驗證。 – SLaks

+0

我試圖尋找到網絡選項卡,但我是這個初學者,所以我不知道如果我看上去是否正確。我在列表中找不到與auth相關的任何內容。你能幫我找出想找什麼嗎?謝謝。 – Near

回答

0

我認爲這是一個HTTP基本授權。 如果您可以使用

http(s)://(username):(password)@(url)在您的瀏覽器的地址欄中登錄,請嘗試。

如果是這樣的話, 在settings.py,用它來打開相應的中間件:

DOWNLOADER_MIDDLEWARE = [ 'scrapy.contrib.downloadermiddleware.httpauth.HttpAuthMiddleware']

而在你的蜘蛛使用中間件是這樣的:

class TheSpider(scrapy.Spider): 

http_user = 'username' 
http_pass = 'password' 

def crawl(self, response): 
    pass 

# do teh magicz! 

它在文件---詳見here

+0

我在瀏覽器中試過,它只是說不可用。如果我用curl試過,我可以看到授權標題,但響應是401. – Near

+0

HTTP/1.1 401未授權 <服務器:Microsoft-IIS/7.5 Near

+0

'401'裝置「未經授權」。 – esfy

1

任何有興趣:

我找到了一種方法來做到這一點使用beautifulsouprequestsrequests_ntlm庫。

+0

這應該是正確的答案。我花了好幾天的時間試圖弄清楚這一點。這個軟件包很棒,完美的解決了我的問題!!!!!!! –