您的位置:

requests.get详解

一、常规用法

requests是一个python第三方库,提供了访问HTTP资源的方法。requests.get是最常用的方法之一,通常用来获取URL地址的内容(HTML页面、API接口的返回结果等),其基础用法如下:

import requests

url = 'http://www.example.com'
response = requests.get(url)
print(response.content.decode('utf-8'))

上述代码中,我们引入requests库,设置URL地址为'http://www.example.com',使用requests.get方法获取其内容,并通过response.content获取二进制数据源,使用decode('utf-8')将其解码为utf-8编码的字符串内容,并打印出来。

除此之外,requests.get方法还提供了更多的参数。

二、请求参数

1、params参数

params参数可以在HTTP请求中添加查询参数,形式为字典或字符串的元组列表。

import requests

url = 'http://www.example.com'
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=params)
print(response.url)

上述代码中,我们设置了params参数为一个字典{'key1': 'value1', 'key2': 'value2'},当requests.get方法发起HTTP请求时,会将其作为查询参数加到URL后面,形成'http://www.example.com?key1=value1&key2=value2'的请求URL,并打印出来。

2、headers参数

headers参数可以设置HTTP请求的头部信息,形式为字典。

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.3'}
response = requests.get(url, headers=headers)
print(response.status_code)

上述代码中,我们设置了headers参数为一个字典,其中User-Agent字段模拟了Chrome浏览器的请求头,请求'http://www.example.com',并打印出HTTP请求的状态码。

3、cookies参数

cookies参数可以设置HTTP请求的cookies,形式为字典。

import requests

url = 'http://www.example.com'
cookies = {'name': 'value'}
response = requests.get(url, cookies=cookies)
print(response.cookies)

上述代码中,我们设置了cookies参数为一个字典,其中name字段的值为value,请求'http://www.example.com',并打印出HTTP响应的cookies信息。

三、响应参数

1、text参数

text参数返回HTTP响应的内容,形式为字符串。

import requests

url = 'http://www.example.com'
response = requests.get(url)
print(response.text)

上述代码中,我们发起了一个GET请求,获取'http://www.example.com'的响应内容,并使用response.text获取并打印出来。

2、content参数

content参数返回HTTP响应的二进制数据源,形式为bytes。

import requests

url = 'http://www.example.com'
response = requests.get(url)
print(response.content)

上述代码中,我们发起了一个GET请求,获取'http://www.example.com'的响应二进制数据源,并使用response.content获取并打印出来。

3、status_code参数

status_code参数返回HTTP响应的状态码,形式为整数。

import requests

url = 'http://www.example.com'
response = requests.get(url)
print(response.status_code)

上述代码中,我们发起了一个GET请求,获取'http://www.example.com'的响应状态码,并使用response.status_code获取并打印出来。

结束语

requests.get是requests库最常用的方法之一,掌握其基本和高级用法,在数据获取与处理中将发挥重要作用。