![](/img/trans.png)
[英]How to download file from website that requires login information using Python?
[英]How to download text file from website using Python?
我需要編寫一個函數,該函數可以從http://www.namejet.com/pages/downloads.aspx.
下載並存儲今天的預發布域.txt文件列表http://www.namejet.com/pages/downloads.aspx.
因此,由於今天是10月8日,因此您想要獲取文件“ 2012年10月8日,星期一”。 嘗試了請求,但沒有成功。 我遇到了麻煩,因為該文件未存儲在固定的URL上,但隱藏在某些Javascript后面。
在處理ASP.NET的回發系統時,這有些棘手。 如果這不是用於個人腳本,則我會警惕,因為您不僅在有效地使用另一個站點的數據,而且還對它們的軟件進行了反向工程(但是,IANAL並不了解有關這些問題的合法性)系統)。
您要做的是檢查POST數據(使用Firebug,Chrome開發人員工具等),然后查找表單對象的__EVENTTARGET
和__VIEWSTATE
屬性。 您必須解碼__VIEWSTATE
才能使其可讀(請查看http://ignatu.co.uk/ViewStateDecoder.aspx )。 從那里,我認為您應該能夠弄清楚如何獲取所需的數據。
在Python中,它非常簡單:
from urllib2 import urlopen
from urllib import urlencode
data = urlopen('url', urlencode({
'__VIEWSTATE': 'foo',
'__EVENTTARGET': 'bar',
})).read()
實際上,您將獲得文本文件,以響應具有多個base64編碼的請求參數的POST請求。 隨意玩
使用Firebug或任何其他調試工具查看POST的內容和參數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.