Javascript 通过Python在网页内下载CSV

Javascript 通过Python在网页内下载CSV,javascript,python,csv,Javascript,Python,Csv,有没有办法使用Python下载下面链接中名为“EXPE-Key-rations.CSV”的CSV文件 如果没有Python,可以通过单击“导出”按钮轻松下载,但我不懂Javascript,也不知道如何通过追踪JS代码生成Python中的真正下载路径。我试图按照中的步骤进行操作,但我无法根据我的问题进行调整。非常感谢您的帮助。好的,我一直在做这件事,最近的一次就是把它放到您的下载文件夹中——我不知道这个网站是如何与浏览器交互来调用这样的直接下载的。如果有人对这一切的后端更了解,能够解释它是如何工

有没有办法使用Python下载下面链接中名为“EXPE-Key-rations.CSV”的CSV文件


如果没有Python,可以通过单击“导出”按钮轻松下载,但我不懂Javascript,也不知道如何通过追踪JS代码生成Python中的真正下载路径。我试图按照中的步骤进行操作,但我无法根据我的问题进行调整。非常感谢您的帮助。

好的,我一直在做这件事,最近的一次就是把它放到您的下载文件夹中——我不知道这个网站是如何与浏览器交互来调用这样的直接下载的。如果有人对这一切的后端更了解,能够解释它是如何工作的,我将不胜感激

无论如何,以下是我将其放入下载文件夹的代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

#Get a driver
driver = webdriver.Edge()

#Navigate to the page
driver.get('http://financials.morningstar.com/ratios/r.html?t=EXPE&region=usa&culture=en-US')

#This is the javascript function that is invoked.
driver.execute_script("exportKeyStat2CSV()")

#Close the browser
driver.quit()
这将把csv放在下载文件夹中(无论是在什么地方)


要安装webdriver go,请下载它并将其与脚本一起放入目录中。您必须pip安装selenium。

不需要selenium,缺少的是Referer头。javascript函数只是将order方法附加到
http://financials.morningstar.com/finan/ajax/exportKR2CSV.html?&callback=?&t=XNAS:EXPE®ion=usa&culture=en-US&cur=&order=
默认值为
asc

导入请求
标题={
“Referer”:http://financials.morningstar.com/ratios/r.html?t=EXPE®ion=usa&culture=en-美国",,
}
r=请求。获取(“http://financials.morningstar.com/finan/ajax/exportKR2CSV.html?&callback=?&t=XNAS:EXPE®ion=usa&culture=en-US&cur=&order=asc“,页眉=页眉)
csv=r.content
打开(“EXPE Key rations.csv”、“wb”)作为文件:
文件写入(csv)

查看selenium,它可以通过python驱动web浏览器。