Python requests使用快速入门
Python requests是一个流行的HTTP库,它可以让我们轻松地发送HTTP请求,并处理响应。本文将介绍如何使用Python requests库进行HTTP请求,并提供一些示例说明。
安装requests库
在使用requests库之前,我们需要先安装它。我们可以使用pip命令来安装requests库,如下所示:
pip install requests
发送GET请求
发送GET请求是最常见的HTTP请求之一,我们可以使用requests库的get()
函数来发送GET请求。下面是一个示例,说明如何使用requests发送GET请求:
import requests
url = 'https://www.example.com'
response = requests.get(url)
print(response.text)
在上面的代码中,我们使用get()
函数发送了一个GET请求,并获取了网站的HTML代码。当我们运行这个代码时,将输出网站的HTML代码。
发送POST请求
发送POST请求是另一种常见的HTTP请求,我们可以使用requests库的post()
函数来发送POST请求。下面是一个示例,说明如何使用requests发送POST请求:
import requests
url = 'https://www.example.com'
data = {'username': 'admin', 'password': '123456'}
response = requests.post(url, data=data)
print(response.text)
在上面的代码中,我们使用post()
函数发送了一个POST请求,并传递了一个字典类型的数据。当我们运行这个代码时,将输出网站的HTML代码。
添加header
在发送HTTP请求时,我们经常需要添加一些header信息,例如User-Agent、Referer等。我们可以使用requests库的headers
参数来添加header信息。下面是一个示例,说明如何使用requests添加header信息:
import requests
url = 'https://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.3'}
response = requests.get(url, headers=headers)
print(response.text)
在上面的代码中,我们使用headers
参数添加了一个User-Agent字段。当我们运行这个代码时,将输出网站的HTML代码。
使用代理
在发送请求时,我们经常需要使用代理来隐藏实际IP地址。我们可以使用requests库的proxies
参数来设置代理。下面是一个示例,说明如何使用requests设置代理:
import requests
url = 'https://www.example.com'
proxies = {'http': 'http://127.0.0.1:8080', 'https': 'https://127.0.0.1:8080'}
response = requests.get(url, proxies=proxies)
print(response.text)
在上面的代码中,我们使用proxies
参数设置了一个代理。当我们运行这个代码时,将使用代理发送请求,并输出网站的HTML代码。
设置超时
在发送HTTP请求时,我们经常需要设置超时时间,以避免请求长时间无响应。我们可以使用requests库的timeout
参数来设置超时时间。下面是一个示例,说明如何使用requests设置超时时间:
import requests
url = 'https://www.example.com'
response = requests.get(url, timeout=10)
print(response.text)
在上面的代码中,我们使用timeout
参数设置了一个超时时间为10秒。当请求超过10秒无响应时,将抛出requests.exceptions.Timeout
异常。
异常处理
在发送HTTP请求时,我们经常会遇到一些异常情况,例如网络连接失败、超时等。我们可以使用try-except语句来捕获这些异常。下面是一个示例,说明如何使用requests进行异常处理:
import requests
url = 'https://www.example.com'
try:
response = requests.get(url)
response.raise_for_status()
except requests.exceptions.HTTPError as e:
print('HTTPError:', e)
except requests.exceptions.Timeout as e:
print('Timeout:', e)
except requests.exceptions.ConnectionError as e:
print('ConnectionError:', e)
except requests.exceptions.RequestException as e:
print('RequestException:', e)
else:
print(response.text)
在上面的代码中,我们使用try-except语句来捕获HTTPError、Timeout、ConnectionError和RequestException异常。请求出现异常时,将输出异常信息。当请求正常时,将输出网站的HTML代码。
综上所述以上就是Python requests使用快速入门的完整攻略,包括安装requests库、发送GET请求、发送POST请求、添加header、使用代理、设置超时和异常处理等。这些方法可以帮助我们更好地发送HTTP请求,并处理常见的HTTP请求问题。
以下是两个示例:
示例1:使用requests库发送GET请求获取天气信息
import requests
url = 'https://wttr.in/Shanghai?format=%C\n'
response = requests.get(url)
print(response.text)
在上面的代码中,我们使用requests库发送GET请求获取上海的天气信息,并输出结果。
示例2:使用requests库发送POST请求提交表单数据
import requests
url = 'https://www.example.com/login'
data = {'username': 'admin', 'password': '123456'}
response = requests.post(url, data=data)
print(response.text)
在上面的代码中,我们使用requests库发送POST请求提交表单数据,并输出结果。