使用 Python 请求访问纳斯达克历史数据导致连接超时
Accessing NASDAQ Historical Data with Python Requests Results in Connection Timeout
我试图 运行 这段 Python 代码(使用请求库)从 NASDAQ.com
中检索特斯拉一年的历史市场数据
dataURL = https://www.nasdaq.com/api/v1/historical/TSLA/stocks/2019-05-22/2020-05-21
quotesReq = requests.get(dataURL, allow_redirects = True)
尽管能够通过网络浏览器访问 URL 并下载预期的“.csv”文件,但我的 Python 代码会产生超时错误。
requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, 'A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond', None, 10060, None))
这是因为 NASDAQ.com 采取了反抓取措施,还是我在请求中遗漏了一些信息?任何解决问题的帮助将不胜感激。
这是一个使用 Selenium chromedriver 的简单解决方案。
import time
from selenium import webdriver
dataURL = 'https://www.nasdaq.com/api/v1/historical/TSLA/stocks/2019-05-22/2020-05-21'
driver = webdriver.Chrome('C:/chromedriver.exe')
driver.get(dataURL)
time.sleep(5)
driver.quit()
再次向提供商咨询有关正确抓取的条款。您可以查看更多 selenium chromewebdriver,https://chromedriver.chromium.org/getting-started
尝试添加这三个 headers:
"Accept-Language":"en-US,en;q=0.9"
"Accept-Encoding":"gzip, deflate, br"
"User-Agent":"Java-http-client/"
我试图 运行 这段 Python 代码(使用请求库)从 NASDAQ.com
中检索特斯拉一年的历史市场数据dataURL = https://www.nasdaq.com/api/v1/historical/TSLA/stocks/2019-05-22/2020-05-21
quotesReq = requests.get(dataURL, allow_redirects = True)
尽管能够通过网络浏览器访问 URL 并下载预期的“.csv”文件,但我的 Python 代码会产生超时错误。
requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, 'A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond', None, 10060, None))
这是因为 NASDAQ.com 采取了反抓取措施,还是我在请求中遗漏了一些信息?任何解决问题的帮助将不胜感激。
这是一个使用 Selenium chromedriver 的简单解决方案。
import time
from selenium import webdriver
dataURL = 'https://www.nasdaq.com/api/v1/historical/TSLA/stocks/2019-05-22/2020-05-21'
driver = webdriver.Chrome('C:/chromedriver.exe')
driver.get(dataURL)
time.sleep(5)
driver.quit()
再次向提供商咨询有关正确抓取的条款。您可以查看更多 selenium chromewebdriver,https://chromedriver.chromium.org/getting-started
尝试添加这三个 headers:
"Accept-Language":"en-US,en;q=0.9"
"Accept-Encoding":"gzip, deflate, br"
"User-Agent":"Java-http-client/"