2016-07-25 40 views
0

我試圖使用請求(python)從網站抓取一些頁面,要求我登錄。 我確實檢查了登錄頁面以檢查用戶名和密碼標題。但我發現這些字段的名稱不被大多數網站使用的標準「用戶名」,「密碼」,你可以從下面的截圖在aspx站點上使用請求的身份驗證問題

password field

我用他們在我的Python腳本的方式看到,每次我得到'錯誤的語法'錯誤。即使sublimetext顯示橙色的名稱的一部分,你可以從下面的圖片看到

從這我知道必須有一些名稱的問題。但嘗試擺​​脫$跡象並沒有幫助。 即使login.aspx標頭在google chrome可以在網絡上註冊之前也會消失。

該網站是www點bncnetwork點網

我會很高興,如果有人可以幫助我弄清楚怎麼處理這件事。

這裏是code`import要求

import requests 

def get_project_page(seed_page): 

    username = "*******************" 
    password = "*******************" 

    bnc_login = dict(ctl00$MainContent$txtEmailID=username, ctl00$MainContent$txtPassword=password) 
    sess_req = requests.Session() 
    sess_req.get(seed_page) 
    sess_req.post(seed_page, data=bnc_login, headers={"Referer":"http://www.bncnetwork.net/MyBNC.aspx"}) 

page = sess_req.get(seed_page) 

return page.text` 
+1

請花時間將相關代碼作爲文本直接包含在您的問題中,而不是鏈接至屏幕截圖。這會讓別人更容易幫助你。 – nthall

+0

我已經完成了。我認爲圖像會顯示在頁面上。原來它沒有。這就是爲什麼你投票給我失望,因爲我在這麼想? – Parousia

回答

1

您需要使用字符串鍵,如果你不這樣做的$將導致語法錯誤:

data = {"ctl00$MainContent$txtPassword":password, "ctl00$MainContent$txtEmailID":email} 

有evenvalidation檔案等..也填寫,按照從這answer邏輯填寫,所有的領域可以看到鉻工具:

enter image description here

+0

感謝您的回覆。我已經關注了這個鏈接,並且看看在這種情況下做了什麼。我從那裏處理另一個鏈接,處理aspx表單身份驗證,並且我已經掌握了它。但問題是,在我的情況下,我不知道如何看FormData。幾乎一旦我登錄,google chrome網絡監視器中的login.aspx表單就會消失。是否有解決此問題的方法?我試過搜索,但沒有得到任何運氣。 – Parousia

+1

你需要點擊保存日誌在網絡選項卡 –

+0

謝謝你。現在我看到了一切......正如你所說 – Parousia