Я пытаюсь загрузить данные об акциях с биржи, используя python. Проблема в том, что нет прямой ссылки на скачивание, а есть javascript для экспорта данных.
URL страницы данных:
http://tase.co.il/TASE/Templates/Company/CompanyHistory.aspx?NRMODE=Published&NRORIGINALURL=%2fTASEEng%2fGeneral%2fCompany%2fcompanyHistoryData.htm%3fcompanyID%3d001216%26ShareID%3d01091248%26subDataType%3d0%26&NRNODEGUID={045D6005-5C86-4A8E-ADD4-C151A77EC14B}&NRCACHEHINT=Guest&shareID=01820083&companyID=000182&subDataType=0
Когда я открываю страницу данных в браузере, а затем страницу загрузки, она работает как шарм. Когда я просто открываю страницу загрузки, она ничего не загружает. Я предполагаю, что это потому, что страница данных вводит фактические данные в переменные столбцы, заголовки и т. Д.
Я пытался имитировать это поведение в скрипте Python, но безуспешно.
def download_CSV (shareID, compID): data_url ="http://tase.co.il/TASE/Templates/Company/CompanyHistory.aspx?NRMODE=Published&NRORIGINALURL=%2fTASEEng%2fGeneral%2fCompany%2fcompanyHistoryData.htm%3fsubDataType%3d0%26shareID%3d00759019&NRNODEGUID={045D6005-5C86-4A8E-ADD4-C151A77EC14B}&NRCACHEHINT=Guest&shareID="+shareID+"&companyID="+compID+"&subDataType=0" import urllib2 response = urllib2.urlopen(data_url) html = response.read() down_url ="http://tase.co.il/TASE/Pages/Export.aspx?tbl=0&Columns=AddColColumnsHistory&Titles=AddColTitlesHistory&sn=dsHistory&enumTblType=GridHistorydaily&ExportType=3" import urllib urllib.urlretrieve (down_url, "test.csv")
Большое спасибо
Вы можете использовать Selenium или другие способы автоматизации браузера, чтобы воспользоваться встроенным в браузер интерпретатором Javascript - для управления Selenium с помощью Python, см., Например, здесь .