Я работаю над скриптом для загрузки и обработки исторических цен на акции. Когда я использовал urllib.request.urlopen, я получил странный префикс текста в каждом файле (b'\xef\xbb\xbf), которого не было ни при использовании urllib.request.urlretrieve, ни при вводе URL-адреса в браузер (Файрфокс). Итак, у меня есть ответ, но я не знаю, почему это вызвало проблему в первую очередь. Я подозреваю, что это может быть из-за того, что я заставил его быть строкой, но я не знаю, почему это так и как я мог бы обойти это (кроме использования вместо этого 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()