-
-
Notifications
You must be signed in to change notification settings - Fork 208
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Mô tả lỗi
Đôi khi sử dụng thư viện trên Kaggle hoặc Google Colab gặp lỗi "Failed to fetch data: 403 - Forbidden" khi thực hiện tải dữ liệu giá.
Cách tái hiện lại lỗi để xử lý
from vnstock import Vnstock
import pandas as pd
import numpy as np
# forecast_horizon = 7
symbols = ['ACB', 'TCB', 'MBB', 'BID', 'VPB']
stocks = []
for symbol in symbols:
stock = Vnstock().stock(symbol=symbol, source='VCI')
stocks.append(stock)
dfs = []
for i, stock in enumerate(stocks):
df = stock.quote.history(start='2000-01-01', end=None)
df.set_index('time')
print("Downloaded data of ticker:", symbols[i])
dfs.append(df)
Thông báo lỗi hoặc logs
---------------------------------------------------------------------------
ConnectionError Traceback (most recent call last)
/tmp/ipykernel_35/774101317.py in <cell line: 0>()
8 stocks = []
9 for symbol in symbols:
---> 10 stock = Vnstock().stock(symbol=symbol, source='VCI')
11 stocks.append(stock)
12
/usr/local/lib/python3.11/dist-packages/vnstock/common/vnstock.py in stock(self, symbol, source)
47 self.symbol = symbol
48
---> 49 return StockComponents(self.symbol, source, show_log=self.show_log)
50
51 def fx(self, symbol: Optional[str]='EURUSD', source: Optional[str] = "MSN"):
/usr/local/lib/python3.11/dist-packages/vnstock/common/data/data_explorer.py in __init__(self, symbol, source, show_log)
52 if not show_log:
53 logger.setLevel(logging.CRITICAL)
---> 54 self._initialize_components()
55
56 def _initialize_components(self):
/usr/local/lib/python3.11/dist-packages/vnstock/common/data/data_explorer.py in _initialize_components(self)
56 def _initialize_components(self):
57 if self.asset_type == "stock":
---> 58 self.company = Company(self.symbol, source=self.source)
59 self.finance = Finance(self.symbol, source=self.source)
60 else:
/usr/local/lib/python3.11/dist-packages/vnstock/common/data/data_explorer.py in __init__(self, symbol, source)
197
198 def __init__(self, symbol: Optional[str] = 'ACB', source: str = "TCBS"):
--> 199 super().__init__(symbol, source)
200
201 def _load_data_source(self):
/usr/local/lib/python3.11/dist-packages/vnstock/common/data/data_explorer.py in __init__(self, symbol, source)
34 self._validate_source()
35 self.source_module = f"vnstock.explorer.{self.source.lower()}"
---> 36 self.data_source = self._load_data_source()
37
38 def _validate_source(self) -> None:
/usr/local/lib/python3.11/dist-packages/vnstock/common/data/data_explorer.py in _load_data_source(self)
201 def _load_data_source(self):
202 module = importlib.import_module(self.source_module)
--> 203 return module.Company(self.symbol)
204
205 def _update_data_source(self, symbol: Optional[str] = None):
/usr/local/lib/python3.11/dist-packages/vnstock/explorer/vci/company.py in __init__(self, symbol, random_agent, to_df, show_log)
43 self.show_log = show_log
44 self.to_df = to_df
---> 45 self.raw_data = self._fetch_data()
46
47 if not show_log:
/usr/local/lib/python3.11/dist-packages/vnstock/explorer/vci/company.py in _fetch_data(self)
67
68 # Use centralized API client instead of direct requests
---> 69 response_data = client.send_request(
70 url=url,
71 headers=self.headers,
/usr/local/lib/python3.11/dist-packages/vnstock/core/utils/client.py in send_request(url, headers, method, params, payload, show_log, timeout)
68 # Check if the response status code is 200 (OK)
69 if response.status_code != 200:
---> 70 raise ConnectionError(
71 f"Failed to fetch data: {response.status_code} - {response.reason}"
72 )
ConnectionError: Failed to fetch data: 403 - Forbidden
Mong muốn đạt được
No response
Ảnh chụp màn hình
Môi trường
Google Colab
Hệ điều hành
Linux
Phiên bản
3.2.6
Phiên bản Python
3.11
Môi trường ảo
Không
Xác nhận
- Tôi đã kiểm tra thông tin và xác nhận lỗi này chưa được báo cáo trước đây
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working