在 Python 中将 html 读取到数据框时出错“找不到 html5lib”

J. *_*rra 8 html5lib dataframe python-2.7 pandas

在尝试读取 html 数据框时,我遇到了有关 html5lib 的以下错误。

这是代码:

!pip install html5lib
!pip install lxml
!pip install beautifulSoup4

import html5lib
import lxml
from bs4 import BeautifulSoup

table_list = pd.read_html("http://www.psmsl.org/data/obtaining/")
Run Code Online (Sandbox Code Playgroud)

这是错误:

ImportError                               Traceback (most recent call last)
<ipython-input-68-e24654a0a301> in <module>()
----> 1 table_list = pd.read_html("http://www.psmsl.org/data/obtaining/")

/home/sage/sage-8.0/local/lib/python2.7/site-packages/pandas/io/html.pyc in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, tupleize_cols, thousands, encoding, decimal, converters, na_values, keep_default_na)
    913                   thousands=thousands, attrs=attrs, encoding=encoding,
    914                   decimal=decimal, converters=converters, na_values=na_values,
--> 915                   keep_default_na=keep_default_na)

/home/sage/sage-8.0/local/lib/python2.7/site-packages/pandas/io/html.pyc in _parse(flavor, io, match, attrs, encoding, **kwargs)
    737     retained = None
    738     for flav in flavor:
--> 739         parser = _parser_dispatch(flav)
    740         p = parser(io, compiled_match, attrs, encoding)
    741 

/home/sage/sage-8.0/local/lib/python2.7/site-packages/pandas/io/html.pyc in _parser_dispatch(flavor)
    680     if flavor in ('bs4', 'html5lib'):
    681         if not _HAS_HTML5LIB:
--> 682             raise ImportError("html5lib not found, please install it")
    683         if not _HAS_BS4:
    684             raise ImportError(

ImportError: html5lib not found, please install it
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激。谢谢

Yil*_*ang 11

如果您阅读错误消息,则说明您尚未html5lib安装。做:

pip install html5lib
Run Code Online (Sandbox Code Playgroud)

在您的终端中。


如果您从 jupyter notebook 调用(就像使用 一样!),请尝试重新启动内核以加载软件包。