使用 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')
我试图从 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')