python 下載文件 & 防盜鏈

偶然下載一種類型的資源,發現好多翻頁,右鍵另存什麼的,不勝其煩。python

決定用python寫幾句代碼搞定。核心代碼以下:網站

from urllib import urlretrieve

from urllib import urlretrieve
urlretrieve(url,save_to_path,show_download_progress)
    

至於url,簡單的用爬蟲的思路獲得的。非本文的重點,再也不囉嗦。url

問題來了,不知道爲何,下載的全部文件都是42k!.net

百思不得其解,應該是某種限制,腦殼不靈光,想了半天才想到,應該是防盜鏈。設計

查了下,因而用wireshark模擬了一下,發現header參數太多,弄很差每一個都要設(取決於人家網站的邏輯設計),因而無論三七二十一,先給射了個Reffer。htm

不幸的成功了。好吧,不用再研究了,收工,特記錄之。blog

以上問題的解決方案:資源

import urllib2
req = urllib2.Request('http://www.example.com/')
req.add_header('Referer', 'http://www.python.org/')
resp = urllib2.urlopen(req)
content = resp.read()

接下來,只須要吧content寫到文件裏面去就行了,此處略。it

 

完整demo以下:class

import urllib2

req = urllib2.Request('http://61.164.149.80/ftp1/0905/models_z/1014/3.rar')
req.add_header('Referer','http://www.coolsc.net/3D-Details/2009/10/14/29468-0.htm')
resp = urllib2.urlopen(req)
content = resp.read()
f = open(r'D:\test2.rar','wb')
f.write(content)
f.close()
相關文章
相關標籤/搜索