一、常规用法
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库最常用的方法之一,掌握其基本和高级用法,在数据获取与处理中将发挥重要作用。