使用 python 通过 URL 获取数据文件时出错

Error occured when getting the data file through URL using python

我试图从 URL

加载数据
url = 'http://raw.githubusercontent.com/justmarkham/DAT8/master/data/chipotle.tsv'
chipo = pd.read_csv(url, sep = '\t')

出现错误

URLError: <urlopen error [Errno 11004] getaddrinfo failed>

我检查过这个 answer 但这没有用。

我也尝试过使用 requests 获取数据,但错误再次发生

ConnectionError: HTTPConnectionPool(host='raw.githubusercontent.com', port=80): Max retries exceeded with url: /justmarkham/DAT8/master/data/chipotle.tsv (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000029B29E43748>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))

DNS 似乎有问题所以我编辑了主机文件,但它也没有帮助。我该如何解决这个问题?

非常感谢。

案件破案。原来是DNS的问题,我需要代理才能访问资源。这可以解释为什么这个问题不可重现。

import socket
import socks
socks.set_default_proxy(socks.SOCKS5, '127.0.0.1', 10808)
socket.socket = socks.socksocket

url = 'https://raw.githubusercontent.com/justmarkham/DAT8/master/data/chipotle.tsv'
chipo = pd.read_csv(url, sep = '\t')