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

利用Python中的requests函数进行网站数据获取

发布时间:2023-06-18 09:39:08

Python中的requests模块是一个用于发送HTTP请求的库,可以访问Web资源和操作数据。通过使用requests,我们可以发送网络请求、获取服务器响应以及处理服务器返回的数据。让我们来看看如何使用Python requests函数进行网站数据获取。

首先,我们需要安装requests模块,可以通过pip命令在命令行中安装它。像这样:

pip install requests

安装完成后,我们就可以开始使用requests函数了。

1. 获取网页内容

requests.get(url)函数会向服务器发送一个请求,并返回响应。响应中包含了网页的内容、状态码、HTTP头信息等等。

示例代码:

import requests

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

当我们运行上面的代码时,我们会得到百度首页的HTML代码。如果我们想查找某个信息,我们可以使用beautifulsoup库和正则表达式对HTML解析。

2. 提交数据

requests.post(url, data)函数可以向服务器发送POST请求,并附带data数据。

示例代码:

import requests

url = 'http://example.com/api/users'
data = {'username': 'John', 'email': 'john@example.com'}
response = requests.post(url, data=data)
print(response.text)

在上面的示例中,我们向服务器发送了一个POST请求,并附带了两个数据项:username和email。服务器会根据我们提供的数据项,返回相应的响应。

3. 添加HTTP头

有些网站可能会根据HTTP头信息进行身份验证或访问限制。我们可以使用requests.get(url, headers=headers)或requests.post(url, headers=headers)函数添加HTTP头。

示例代码:

import requests

url = 'http://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)

在上面的示例中,我们使用了一个标准的User-Agent头来发送GET请求。

4. 设置超时时间

requests.get(url, timeout=30)或requests.post(url, timeout=30)函数可以设置请求的超时时间,以防止无限等待。

示例代码:

import requests

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

在上面的示例中,我们设置了超时时间为10秒,如果服务器在10秒内没有响应,将会抛出异常。

总结:

这篇文章介绍了如何使用Python requests函数获取网站数据。通过requests,我们可以轻松地向服务器发送HTTP请求、获取服务器返回的响应、提交数据、添加HTTP头以及设置超时时间。如果你想从网络上获取数据,requests是一个非常强大的工具。