您的位置:

使用requests库下载

介绍

随着互联网的迅猛发展,人们已经越来越依赖网络,特别是对于程序员来说,网络上的资源已经成为我们工作中必不可少的一部分。requests库就是我们在Python中访问Internet时的理想选择,它为我们提供了一个简单而优雅的API,使我们能够轻松地发送HTTP/1.1请求。本文将介绍如何使用requests库下载网络资源。

正文

一、安装requests库

使用requests库之前,需要先安装它。可以使用pip来安装,打开终端并输入如下命令:

pip install requests

如果一切顺利,将会看到requests库被成功安装。

二、下载文件

使用requests库下载文件非常简单。只需使用requests.get()方法,并传递要下载的文件的URL地址:

import requests

url = 'http://www.example.com/file.jpg'
r = requests.get(url)

with open('file.jpg', 'wb') as f:
    f.write(r.content)

以上代码将下载指定的URL地址的图片文件,并保存到本地磁盘。

三、下载HTML页面

requests库不仅可以用来下载文件,还可以用来下载网站页面。以下代码演示如何使用requests库下载HTML页面,并将其存储为本地文件:

import requests

url = 'http://www.example.com/index.html'
r = requests.get(url)

with open('index.html', 'w') as f:
    f.write(r.text)

以上代码将获取指定URL的HTML页面,并将其保存到本地磁盘。

四、设置请求头

有些网站会进行反爬虫设置,拒绝通过一些开源User-Agent的请求。如果我们的请求遇到被拒绝的情况,需要伪造请求头,模拟正常的浏览器请求。以下是设置请求头的示例代码:

import requests

url = 'http://www.example.com'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
r = requests.get(url, headers=headers)

print(r.text)

以上代码中,设置了User-Agent请求头,将其值设置为Chrome浏览器的User-Agent,然后发送请求获取指定URL的HTML页面。

五、设置代理IP

如果需要下载的文件或页面被封锁,或者访问网站需要经过认证,那么我们可以使用代理IP。使用requests库设置代理非常简单,只需在请求中添加proxies参数即可。以下是设置代理IP的示例代码:

import requests

url = 'http://www.example.com'
proxies = {'http': 'http://127.0.0.1:8080', 'https': 'https://127.0.0.1:8080'}
r = requests.get(url, proxies=proxies)

print(r.text)

以上代码中,将HTTP代理设置为 "http://127.0.0.1:8080",将HTTPS代理设置为 "https://127.0.0.1:8080"。

总结

requests库是Python中一个非常方便的第三方库,能够帮助我们轻松地访问互联网,下载网络资源。本文介绍了如何使用requests库下载文件、下载HTML页面、设置请求头、设置代理IP等操作。相信在实际使用中,这些知识点将会为你带来很大的帮助!