gpt4 book ai didi

javascript - 使用 JavaScript 下载网页的 Python 代码

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:22 25 4
gpt4 key购买 nike

我正在尝试使用 python 从证券交易所下载股票数据。问题是没有直接的下载链接,而是通过 JavaScript 导出数据。

数据页网址:

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

当我在浏览器中打开数据页面,然后打开下载页面时,它就像一个魅力。当我刚打开下载页面时,它没有下载任何内容。我猜这是因为数据页将实际数据注入(inject)到变量列、标题等中。

我尝试在 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 解释器——使用 Python 控制 Selenium,请参阅例如here .

关于javascript - 使用 JavaScript 下载网页的 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1355244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com