欢迎访问宙启技术站
智能推送

Python中requests模块的Response()函数用法和示例解析

发布时间:2023-12-17 08:27:17

requests模块是一种常用的用于发送HTTP请求的Python库,其中的Response()函数用于处理HTTP请求的响应。Response对象包含了HTTP响应的信息和内容,可以通过该对象的一些属性和方法来获取和解析响应。

Response()函数的用法如下:

response = requests.get(url, params={key: value}, headers={key: value}, cookies={key: value})

# 或

response = requests.post(url, data={key: value}, json={key: value}, headers={key: value}, cookies={key: value})

参数说明:

- url:请求的URL地址。

- params:可选参数,GET请求时传递的参数,通常以字典的形式传递。

- data:可选参数,POST请求时传递的数据,通常以字典的形式传递。

- json:可选参数,POST请求时传递的JSON数据。

- headers:可选参数,请求头信息,通常以字典的形式传递。

- cookies:可选参数,请求的Cookies信息,通常以字典的形式传递。

示例解析:

假设我们要发送一个GET请求,获取百度的首页内容,并解析响应的状态码和内容。

import requests

url = 'http://www.baidu.com'
response = requests.get(url)

# 获取状态码
status_code = response.status_code
print('状态码:', status_code)

# 获取内容
content = response.text
print('内容:', content)

运行上述代码后,会输出百度首页的状态码和内容。

动态网页解析示例:

有时候我们需要爬取的是动态网页(通过JavaScript进行数据加载),这时候使用requests模块自身的功能无法获取到所有的内容。这时可以使用第三方库如BeautifulSoup等进行解析。

import requests
from bs4 import BeautifulSoup

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

# 使用BeautifulSoup解析内容
soup = BeautifulSoup(response.text, 'html.parser')
# 获取标题
title = soup.title.string
print('标题:', title)

# 获取所有的链接
links = soup.find_all('a')
for link in links:
    print(link['href'])

上述代码使用了BeautifulSoup库对响应内容进行解析,获取了标题和所有的链接。

总结:

通过Response()函数,我们可以发送HTTP请求并获取响应的状态码和内容。对于静态网页,直接使用response.text可以获取到所有的内容;对于动态网页,可以使用第三方库如BeautifulSoup等进行解析。这样就可以方便地对网页内容进行提取和处理。