如何在调用javascript函数的按钮后面下载数据?
我试图从网站上下载这些数据。如何在调用javascript函数的按钮后面下载数据?,javascript,python,html,web-scraping,Javascript,Python,Html,Web Scraping,我试图从网站上下载这些数据。 如何使用python解决这个问题?JavaScript函数下载CSV是gijgo.min.js的一部分。它调用getCSV,它遍历表中的字段并动态生成一个CSV文件 幸运的是,您不必处理CSV或从页面中删除任何内容。要获取所需数据,只需向浏览器在访问页面时请求的RESTful API发出HTTP get请求: def main(): import requests url = "https://www.nseindia.com/ap
如何使用python解决这个问题?JavaScript函数
下载CSV
是gijgo.min.js
的一部分。它调用getCSV
,它遍历表中的字段并动态生成一个CSV文件
幸运的是,您不必处理CSV或从页面中删除任何内容。要获取所需数据,只需向浏览器在访问页面时请求的RESTful API发出HTTP get请求:
def main():
import requests
url = "https://www.nseindia.com/api/live-analysis-oi-spurts-underlyings"
headers = {
"user-agent": "Mozilla/5.0"
}
response = requests.get(url, headers=headers)
response.raise_for_status()
data = response.json()["data"]
print(f"There are {len(data)} items in total.")
print(f"The first item is:\n{data[0]}")
return 0
if __name__ == "__main__":
import sys
sys.exit(main())
输出:
There are 143 items in total.
The first item is:
{'symbol': 'MOTHERSUMI', 'latestOI': 7182, 'prevOI': 4674, 'changeInOI': 2508, 'avgInOI': 53.66, 'volume': 12519, 'futValue': 53892.6066, 'optValue': 3788085280, 'total': 55585.0344, 'premValue': 1692.4278, 'underlyingValue': 104}
>>>
找到某个文件的最终下载链接的一种方法是打开web浏览器的调试器,并在查看调试器的“网络”选项卡时单击下载链接 通常,您会看到页面的javascript调用的请求与url、请求内容等相同
从这里,您只需复制javascript发送的请求。请尝试使用[Ctrl+F]搜索文档中的“downloadCSV()”函数。也许在某个标签中,你可以找到CSV的下载链接。你是如何找到API的?我如何使用它下载所有其他数据?我们不需要知道API地址,比如你是如何得到的“”link@yash看看我在这里发布的答案: