Python requests模块用法详解

  • Post category:Python

Python requests模块用法详解

简介

requests是Python的一个HTTP客户端库,它可以简单易用地向远程服务器发起HTTP请求。requests可以用来通过HTTP(S)获取网页内容、提交表单、登录等操作,并且还支持会话、Cookie、SSL认证、代理设置等高级功能,是Python网络爬虫开发经常使用的一个库。

安装

在使用requests之前,需要先安装它。可以使用以下命令在命令行中安装requests:

pip install requests

发送GET请求

发送GET请求可以使用requests库的get()方法,以下是一个简单的示例:

import requests

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

上述代码中,使用requests库的get()方法向百度发起了一个GET请求,返回的响应存储在response对象中。status_code属性表示响应的HTTP状态码,text属性表示响应的文本内容。

发送POST请求

发送POST请求可以使用requests库的post()方法,需要传递一个参数data,它是一个字典,存储POST请求的数据。以下是一个简单的示例:

import requests

data = {"username": "admin", "password": "123456"}
response = requests.post("https://example.com/login", data=data)

print(response.status_code)
print(response.text)

上述代码中,使用requests库的post()方法向https://example.com/login发起了一个POST请求,传递了一个字典data作为请求体。同样地,status_code属性表示响应的HTTP状态码,text属性表示响应的文本内容。

技巧

requests库还提供了很多高级功能和方法,比如使用代理、设置请求头、存储Cookie等,这里列举一些常用的技巧:

使用代理

在requests库中,可以通过proxies参数传递一个HTTP或HTTPS代理,例如:

import requests

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

print(response.status_code)
print(response.text)

设置请求头

在requests库中,可以通过headers参数传递一个包含请求头的字典,例如:

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

print(response.status_code)
print(response.text)

存储Cookie

在requests库中,可以通过cookies参数传递一个包含Cookie的字典,例如:

import requests

cookies = {"name": "admin", "password": "123456"}
response = requests.get("https://example.com", cookies=cookies)

print(response.status_code)
print(response.text)

总结

本文详细讲解了Python requests库的用法,介绍了发送GET请求、发送POST请求的示例,并且列举了一些常用技巧,包括使用代理、设置请求头、存储Cookie等。requests是Python网络爬虫开发中不可缺少的一个库,掌握它的用法对于开发高质量的网络爬虫非常有帮助。