【问题标题】:urllib.error.HTTPError: HTTP Error 404: Not Found using pandas even though the url existsurllib.error.HTTPError:HTTP 错误 404:即使 url 存在,使用 pandas 也找不到
【发布时间】:2021-09-30 01:44:44
【问题描述】:

我试图运行这段代码:

import pandas as pd
df = pd.read_csv(r"C:\Users\Chaitanya\Desktop\Finsearch\AAPL.csv")
df = df.sort_values(by="Date")
df = df.dropna()
# calculate returns
df = df.assign(close_day_before=df.Close.shift(1))
df['returns'] = ((df.Close - df.close_day_before)/df.close_day_before)

# get options data from yahoo finance // in this case, exercise data is july 24th
r = pd.read_html('http://finance.yahoo.com/quote/AAPL/options?date=1655424000&p=AAPL')[0]

显示错误:

Traceback (most recent call last):
  File "c:\Users\Chaitanya\Desktop\Finsearch\finserach.py", line 10, in <module>
    r = pd.read_html('http://finance.yahoo.com/quote/AAPL/options?date=1655424000&p=AAPL')[0]
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\util\_decorators.py", line 311, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\html.py", line 1098, in read_html
    return _parse(
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\html.py", line 906, in _parse
    tables = p.parse_tables()
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\html.py", line 222, in parse_tables
    tables = self._parse_tables(self._build_doc(), self.match, self.attrs)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\html.py", line 745, in _build_doc
    raise e
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\html.py", line 726, in _build_doc
    with urlopen(self.io) as f:
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\common.py", line 211, in urlopen
    return urllib.request.urlopen(*args, **kwargs)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 555, in error
    result = self._call_chain(*args)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 747, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found``

【问题讨论】:

    标签: python pandas csv url https


    【解决方案1】:

    您发布的堆栈跟踪似乎表明错误来自您未在问题中发布的代码:

    Traceback (most recent call last): 
    File "c:\Users\Chaitanya\Desktop\Finsearch\finserach.py", 
    line 10, in **r = pd.read_html('http://finance.yahoo.com/quote/AAPL/options?date=1655424000&p=AAPL')**[0] File
    

    具体来说,r = pd_read_html('...) 部分。

    【讨论】:

    • 是的,这是显示错误的行,我想我在格式化代码时错过了那行,我的错。
    猜你喜欢
    • 2022-10-14
    • 1970-01-01
    • 2020-11-21
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2021-09-30
    相关资源
    最近更新 更多