【发布时间】:2017-01-29 08:57:12
【问题描述】:
我正在尝试使用 Python 3.x 下载 CSV 文件 文件路径为:https://www.nseindia.com/content/fo/fo_mktlots.csv
我找到了三种方法来做到这一点。这三种方法中只有一种有效。我想知道为什么或我做错了什么。
-
方法一:(不成功)
import pandas as pd mytable = pd.read_table("https://www.nseindia.com/content/fo/fo_mktlots.csv",sep=",") print(mytable)但我收到以下错误:
- HTTPError: HTTP Error 403: Forbidden -
方法二:(不成功)
from urllib.request import Request, urlopen url='https://www.nseindia.com/content/fo/fo_mktlots.csv' url_request = Request(url, headers={'User-Agent': 'Mozilla/5.0'}) html = urlopen(url_request ).read()遇到和以前一样的错误:
- HTTPError: HTTP Error 403: Forbidden -
方法三:(成功)
import requests import pandas as pd url = 'https://www.nseindia.com/content/fo/fo_mktlots.csv' r = requests.get(url) df = pd.read_csv(StringIO(r.text))
我还可以使用 Excel VBA 打开文件,如下所示:
Workbooks.Open Filename:="https://www.nseindia.com/content/fo/fo_mktlots.csv"
另外,有没有其他方法可以做到这一点?
【问题讨论】:
-
使用第二个脚本时,使用wireshark 的嗅探请求指向“加密警报”。也许您必须在发出请求之前深入配置您的套接字。
标签: python python-3.x pandas python-requests urllib