Python中访问nsetools库遇HTTP Error 301的解决方法
解决nsetools库HTTP Error 301的问题
问题原因
印度国家证券交易所(NSE)的域名结构已更新,原无www的域名会永久重定向到带www的版本,但nsetools库的请求逻辑未正确处理该重定向,导致触发无限循环的301错误。
解决方案
方法1:修改nsetools源码的API域名
- 执行命令查看nsetools的安装路径:
找到输出里的pip show nsetoolsLocation字段,比如/usr/local/lib/python3.x/site-packages - 进入该路径下的
nsetools文件夹,打开nse.py文件 - 找到文件中的基础URL配置行(通常是
BASE_URL变量),比如原代码为:
将其修改为带www的域名:BASE_URL = "https://nseindia.com"BASE_URL = "https://www.nseindia.com" - 保存文件后,重启Jupyter内核,重新运行代码即可。
方法2:使用替代库nsepy
如果不想修改源码,可改用更活跃的nsepy库:
- 安装库:
pip install nsepy - 替换原有代码为:
from nsepy import get_quote x = get_quote('INFY') print(x)
内容的提问来源于stack exchange,提问作者Vishmay Dhruv
相关产品推荐
相关产品推荐

