Я работаю над сценарием для загрузки и обработки исторических цен акций.
Когда я использовал urllib.request.urlopen, я получал странный префикс текста в каждом файле (b '\ xef \ xbb \ xbf), которого не было при использовании urllib.request.urlretrieve, и не присутствовал при вводе URL-адреса в браузер (Firefox).
Так что у меня есть ответ, но я не знаю, почему это вызвало проблему в первую очередь. Я подозреваю, что это может быть потому, что я заставил это быть строкой, но я не знаю, почему это так или как я бы обойти это (кроме использования вместо urlretrieve).
Код ниже. Соответствующая строка - строка 11. Код комментария после - это когда я использовал orlopen.
#download a bunch of historical stock quotes from google finance
import urllib.request
symbolarray = []
symbolfile = open("symbols.txt")
for line in symbolfile:
symbolarray.append(line.strip())
symbolfile.close()
for symbol in symbolarray:
page = urllib.request.urlretrieve("http://www.google.com/finance/historical?q=NYSE:"+symbol+"&output=csv",symbol+".csv")
#datafile = open(symbol+".csv","w")
#datafile.write(str(page.read()))
#datafile.close()