gzip으로 압축 된 XML 사이트 맵을 다운로드하는 스크립트를 작성 중입니다. 파일은 다운로드되지만 손상되었습니다. 스크립트에 의해 출력 된 gzipped 파일은 데이터가 누락되었으므로 약간 커야하며 압축 해제 된 파일은 있어야하는 것보다 작습니다. 내가 뭘 잘못하고 있는거야?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
도움을 주셔서 감사합니다.
이는 아름다운 파이썬 라이브러리 "요청"을 사용하여 약 5 선으로 단축 할 수있다. 이건 문제가 아니야. 아마 sgallen이 대답에 대해 어쩌면 맞는 것 같아. – alonisser
정보를 제공해 주셔서 감사합니다. 파이썬을 많이 사용하지 않았기 때문에 코드가 너무 우아하지 않을 것입니다. – David