【问题标题】:Python Pandas read_html fails when reading tables from Wikipedia从维基百科读取表格时,Python Pandas read_html 失败
【发布时间】:2018-06-11 00:18:04
【问题描述】:

我正在尝试使用以下代码从 Wikipedia 页面读取表格:

import pandas as pd
pd.read_html('https://en.wikipedia.org/wiki/2013–14_Premier_League')

这样做会产生以下错误:

UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in    position 14: ordinal not in range(128)

我试过了

pd.read_html('https://en.wikipedia.org/wiki/2013–14_Premier_League', encoding='utf-8')

但仍然得到同样的错误。以下作品:

import requests
r = requests.get('https://en.wikipedia.org/wiki/2017–18_Premier_League')
c = r.content
dfs = pd.read_html(c)

我想知道的是如何让pd.read_html() 在没有requests 的情况下直接在url 上工作。我对编码有什么不明白的地方,还是 Pandas 的问题?

我正在运行 Pandas 0.21.1 和 Python 3.5.4 的 Anaconda 发行版。感谢您的帮助。

【问题讨论】:

标签: python pandas web-scraping wikipedia


【解决方案1】:

问题在于

https

尝试去掉https处的S,可以参考文档here

【讨论】:

  • 不幸的是,这不起作用,因为维基百科将请求重定向到https
  • 这可能是另一个问题;这似乎不是导致此特定错误的可能原因。
猜你喜欢
  • 2019-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-08
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多