我正在編寫一個腳本來下載gzipped XML站點地圖;文件下載,但它們已損壞。由腳本輸出的gzip文件比它們應該大一些,並且解壓縮的文件比它們應該小,因爲缺少數據。任何想法我做錯了什麼?如何使用urllib2下載gzip文件,而不會破壞它們?
saveAddress = "test.xml.gz"
import urllib2
import httplib
from urllib2 import Request, urlopen, URLError
try:
request = urllib2.Request("http://example.com/sitemap-general.xml.gz")
request.add_header('Accept-encoding', 'gzip')
request.add_header('User-agent', 'Custom UA String')
opener = urllib2.build_opener()
try:
pageText = opener.open(request).read()
open(saveAddress, "w").write(pageText)
print "Crawled successfully."
except URLError, e:
pass
except URLError, e:
pass
感謝您的任何幫助,非常感謝。
這可以通過使用美麗的Python庫「請求」約5線被縮短。這不是問題,我認爲sgallen可能是正確的答案 – alonisser 2011-12-21 20:25:55
感謝您的信息,我會研究它。我沒有使用Python,所以我的代碼可能不太優雅。 – David 2011-12-21 22:05:18