Я пытаюсь, чтобы загрузить CSV-файл с Python 3.x Пути к файлу является: https://www.nseindia.com/content/fo/fo_mktlots.csvPython Скачать файл с пандой/URLLIB
Я нашел три способа сделать это. Из трех работает только один метод. Я хотел знать, почему или что я делаю неправильно.
Метод 1: (Неудачная)
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
Метод 2: (неэффективные)
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()
Got та же ошибка, что и раньше:
- HTTPError: HTTP Error 403: Forbidden
Метод 3: (успешный)
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 на «Encrypted оповещение» при использовании второго сценария. Возможно, вам придется глубоко настроить ваш сокет, прежде чем делать запрос. – jlandercy