^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 521, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 630, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 559, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 639, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden Traceback (most recent call last): File "/app/app.py", line 170, in print(run_job()) ^^^^^^^^^ File "/app/app.py", line 152, in run_job df = pd.read_html(URL)[0] ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 1226, in read_html return _parse( ^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 979, in _parse tables = p.parse_tables() ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 237, in parse_tables tables = self._parse_tables(self._build_doc(), self.match, self.attrs) ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 789, in _build_doc with get_handle(self.io, "r", storage_options=self.storage_options) as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 772, in get_handle ioargs = _get_filepath_or_buffer( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 404, in _get_filepath_or_buffer with urlopen(req_info) as req: ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 281, in urlopen return urllib.request.urlopen(*args, **kwargs) # noqa: TID251 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 215, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 521, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 630, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 559, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 639, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden Traceback (most recent call last): File "/app/app.py", line 170, in print(run_job()) ^^^^^^^^^ File "/app/app.py", line 152, in run_job df = pd.read_html(URL)[0] ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 1226, in read_html return _parse( ^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 979, in _parse tables = p.parse_tables() ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 237, in parse_tables tables = self._parse_tables(self._build_doc(), self.match, self.attrs) ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 789, in _build_doc with get_handle(self.io, "r", storage_options=self.storage_options) as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 772, in get_handle ioargs = _get_filepath_or_buffer( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 404, in _get_filepath_or_buffer with urlopen(req_info) as req: ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 281, in urlopen return urllib.request.urlopen(*args, **kwargs) # noqa: TID251 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 215, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 521, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 630, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 559, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 639, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden Traceback (most recent call last): File "/app/app.py", line 170, in print(run_job()) ^^^^^^^^^ File "/app/app.py", line 152, in run_job df = pd.read_html(URL)[0] ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 1226, in read_html return _parse( ^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 979, in _parse tables = p.parse_tables() ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 237, in parse_tables tables = self._parse_tables(self._build_doc(), self.match, self.attrs) ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 789, in _build_doc with get_handle(self.io, "r", storage_options=self.storage_options) as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 772, in get_handle ioargs = _get_filepath_or_buffer( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 404, in _get_filepath_or_buffer with urlopen(req_info) as req: ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 281, in urlopen return urllib.request.urlopen(*args, **kwargs) # noqa: TID251 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 215, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 521, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 630, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 559, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 639, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden Traceback (most recent call last): File "/app/app.py", line 170, in print(run_job()) ^^^^^^^^^ File "/app/app.py", line 152, in run_job df = pd.read_html(URL)[0] ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 1226, in read_html return _parse( ^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 979, in _parse tables = p.parse_tables() ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 237, in parse_tables tables = self._parse_tables(self._build_doc(), self.match, self.attrs) ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/html.py", line 789, in _build_doc with get_handle(self.io, "r", storage_options=self.storage_options) as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 772, in get_handle ioargs = _get_filepath_or_buffer( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 404, in _get_filepath_or_buffer with urlopen(req_info) as req: ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pandas/io/common.py", line 281, in urlopen return urllib.request.urlopen(*args, **kwargs) # noqa: TID251 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 215, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 521, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 630, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 559, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/local/lib/python3.12/urllib/request.py", line 639, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden