# 使用 Python 的 HTTP 下载文件

> 原文： [https://pythonspot.com/http-download-file-with-python/](https://pythonspot.com/http-download-file-with-python/)

可以使用 _urllib2_ 模块从 Web 下载数据（网络资源访问）。 这些数据可以是文件，网站，也可以是您想要 Python 下载的任何数据。 该模块支持 HTTP，HTTPS，FTP 和其他几种协议。

在本文中，您将学习如何使用 Python 从 Web 下载数据。

## 下载文字

To download a plain text file use this code:

```py
import urllib2
response = urllib2.urlopen('https://wordpress.org/plugins/about/readme.txt')
data = response.read()
print(data)

```

我们使用 urllib2.urlopen（）方法获得响应对象，其中参数是链接。 使用 response.read（）方法调用接收所有文件内容。 调用此命令后，我们将文件数据存储在字符串类型的 Python 变量中。

## 下载 HTML

This will request the [html](https://en.wikipedia.org/wiki/HTML) code from a website. It will output everything to the screen.

```py
import urllib2
response = urllib2.urlopen('https://en.wikipedia.org/')
html = response.read()
print html

```

## 使用 Python 下载文件

You can save the data to disk very easily after downloading the file:

```py
import urllib2
response = urllib2.urlopen('https://wordpress.org/plugins/about/readme.txt')
data = response.read()

# Write data to file
filename = "test.txt"
file_ = open(filename, 'w')
file_.write(data)
file_.close()

```

代码的第一部分将文件内容下载到变量数据中：

```py

import urllib2
response = urllib2.urlopen('https://wordpress.org/plugins/about/readme.txt')
data = response.read()

```

第二部分将其存储到文件中（此文件不需要具有相同的文件名）

```py

# Write data to file
filename = "test.txt"
file_ = open(filename, 'w')
file_.write(data)
file_.close()

```

“ w”参数创建文件（如果存在，则覆盖）。 您可以[在此处阅读有关写入文件的更多信息。](https://pythonspot.com/write-file/)