2013-05-05 125 views
0

我有一個python腳本from here從課程網站下載網頁內容下載網站的內容:無法使用機械化

from mechanize import Browser 
b = Browser() 
b.open("https://wiki.engr.illinois.edu/display/cs498cc/Home") 
b.select_form(nr=0) 
b["user"] = "myusername" 
b["passwrd"] = "blabla" 
b.submit() 

response = b.response().read() 
if "Salve <b>johnconnor</b>" in response: 
print "Logged in!" 

我得到一個錯誤:

mechanize._form.ControlNotFoundError: no control matching name 'user' 

我不是確定如何做到這一點,因爲我剛剛開始學習python並發現該庫。 我試過用wget使用--user = X --password = Y標誌,但它只下載登錄頁面!

回答

2

表單元素有不同的名稱:

<input type="text" name="os_username" id="os_username" class="text " data-focus="0"> 
<input type="password" name="os_password" id="os_password" class="password "> 

變化useros_usernamepasswrdos_password和它可能工作。

+0

無果「無控制匹配名稱'os_username'」:/ – Siddhartha 2013-05-05 08:49:07

+0

@Siddhartha:第一種形式是搜索框。將'b.select_form(nr = 0)'改爲'b.select_form(nr = 1)',它應該可以工作。 – Blender 2013-05-05 08:51:00

+0

它的工作原理!腳本成功運行。所以我現在登錄,如何獲取網站的內容?我沒有在谷歌上找到任何東西,我想我應該使用b.retrieve()?謝謝! – Siddhartha 2013-05-05 09:00:41