您的位置:

Python工程师必备:学会使用requests库

介绍

对于Python开发者来说,抓取和发送网络请求是一个重要的工作。requests库是Python中最著名的HTTP请求库之一,广泛应用于爬虫、API请求以及Web开发等领域。本文将详细介绍requests库的使用,带你从入门到掌握,成为一名Python工程师必不可少的技能。

正文

一、安装和导入requests库

在开始使用requests库之前,需要先安装和导入它。在终端或命令行中输入以下命令即可安装:

pip install requests

导入requests库,则可以直接使用以下语句:

import requests

二、发送GET请求

requests库最简单的用法就是发送GET请求。使用requests库非常容易,只需要使用get()方法就可以实现。以下是一个简单的例子:

import requests

response = requests.get("https://www.baidu.com")
print(response.text)

上述代码会向“https://www.baidu.com”发送一个GET请求,获取该网页的HTML代码,并打印在控制台上。

三、发送POST请求

如果需要向一个API发送数据,可以使用POST请求。requests库的post()方法可以方便地实现这个功能。以下是一个POST请求的例子:

import requests

payload = {"username": "admin", "password": "admin"}
response = requests.post("http://api.com/login", data=payload)
print(response.status_code)

上述代码将会向“http://api.com/login”发送一个POST请求,并将payload数据作为请求体发送。status_code属性可以获取这个请求的状态码。

四、使用请求头

在使用requests库发送请求时,很多网站都需要使用请求头才能正常响应。以下是一个使用请求头的例子:

import requests

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"}
response = requests.get("https://www.zhihu.com", headers=headers)
print(response.text)

上述代码将会向“https://www.zhihu.com”发送一个GET请求,并在请求头中添加了User-Agent。通过添加请求头,我们可以模拟浏览器发送请求,并成功获取到“https://www.zhihu.com”页面的HTML代码。

五、使用代理

在爬取网页时,经常会被某些网站限制IP的访问次数或频率。为了规避这个问题,可以使用代理IP。以下是一个使用代理的例子:

import requests

proxies = {"http": "http://127.0.0.1:8800", "https": "https://127.0.0.1:8800"}
response = requests.get("https://www.baidu.com", proxies=proxies)
print(response.text)

上述代码将会向“https://www.baidu.com”发送一个GET请求,并使用代理IP访问。proxies参数需要一个字典,其中http和https分别对应HTTP和HTTPS协议的代理地址。

小结

以上是requests库使用的一些常见方法。学会使用requests库,可以让Python工程师更轻松地完成抓取和发送请求的任务。不过,在实际应用中,requests库还有更多高级用法,如文件上传、cookie管理等,读者可以自行深入了解。