python urllib2.openurl не работает с определенным URL (перенаправление)? - PullRequest
1 голос
/ 24 марта 2010

Мне нужно скачать CSV-файл, который отлично работает в браузерах, используя:

http://www.ftse.com/objects/csv_to_csv.jsp?infoCode=100a&theseFilters=&csvAll=&theseColumns=Mw==&theseTitles=&tableTitle=FTSE%20100%20Index%20Constituents&dl=&p_encoded=1&e=.csv

Следующий код работает для любого другого файла (URL) (с полным указанием пути), однако с указанным выше URL-адресом загружается 800 байт.

def getFile(self,URL):

    proxy_support = urllib2.ProxyHandler({'http': 'http://proxy.REMOVED.com:8080/'})
    opener = urllib2.build_opener(proxy_support)
    urllib2.install_opener(opener)
    response = urllib2.urlopen(URL)
    print response.geturl()
    newfile = response.read()
    output = open("testFile.csv",'wb')
    output.write(newfile)
    output.close()

1 Ответ

1 голос
/ 24 марта 2010

urllib2 использует httplib под капотом, поэтому лучший способ диагностировать это - включить отладку http-соединения. Добавьте этот код, прежде чем получить доступ к URL-адресу, и вы получите краткое изложение того, что именно генерируется http-трафик:

import httplib
httplib.HTTPConnection.debuglevel = 1
...