8

我想将文件作为字符串下载到 python。我尝试了以下方法,但似乎不起作用。我做错了什么,或者我还能做什么?

from urllib import request

webFile = request.urlopen(url).read()
print(webFile)
4

3 回答 3

22

以下示例有效。

from urllib.request import urlopen

url = 'http://winterolympicsmedals.com/medals.csv'
output = urlopen(url).read()
print(output.decode('utf-8'))

或者,您可以使用请求,它提供了更易于阅读的语法。请记住,请求需要您安装额外的依赖项,这可能会增加部署应用程序的复杂性,具体取决于您的生产环境。

import requests

url = 'http://winterolympicsmedals.com/medals.csv'
output = requests.get(url).text
print(output)
于 2013-04-15T21:59:14.097 回答
7

在 Python3.x 中,像这样使用包 'urllib':

from urllib.request import urlopen

data = urlopen('http://www.google.com').read() #bytes
body = data.decode('utf-8')
于 2013-04-16T02:40:25.510 回答
2

另一个很好的库是http://docs.python-requests.org

它不是内置的,但我发现它比 urllib* 更有用。

于 2013-04-15T22:06:29.310 回答