📜  Requests-使用请求进行网页搜集(1)

📅  最后修改于: 2023-12-03 15:04:53.467000             🧑  作者: Mango

Requests-使用请求进行网页搜集

简介

Requests是Python中一个第三方库,用来发送HTTP请求。它比Python自带的urllib库使用起来更加方便,支持HTTP协议中的GET、POST、PUT、DELETE等请求方式,还支持数据传输,Cookie,身份认证,代理设置等功能。Requests库是Python爬虫常用的一个网络请求库,在数据采集过程中使用较为广泛。

安装

使用pip命令进行安装:

pip install requests
发送请求
GET请求

代码示例:

import requests

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

发送GET请求,可以在请求中添加headers和params参数。

params参数可以指定请求中的查询参数。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get("http://httpbin.org/get", params=payload)
print(response.text)

headers参数可以添加HTTP请求头。

import requests

headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get("http://www.example.com/", headers=headers)
print(response.text)
POST请求

代码示例:

import requests

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post("http://httpbin.org/post", data=payload)
print(response.text)

发送POST请求,可以在请求中添加headers和data参数。

data参数可以指定请求中的数据。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post("http://httpbin.org/post", data=payload)
print(response.text)

headers参数可以添加HTTP请求头。

import requests

headers = {'User-Agent': 'Mozilla/5.0'}
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post("http://httpbin.org/post", headers=headers, data=payload)
print(response.text)
PUT请求

代码示例:

import requests

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.put("http://httpbin.org/put", data=payload)
print(response.text)

数据传输与POST请求相同,只需将请求方式改为PUT。

DELETE请求

代码示例:

import requests

response = requests.delete("http://httpbin.org/delete")
print(response.text)

发送DELETE请求时,只需要将请求方式改为DELETE即可。

高级用法
设置请求超时时间

代码示例:

import requests

response = requests.get("http://www.taobao.com", timeout=1)
print(response.text)

timeout参数可以设置请求超时时间,单位为秒。

Cookie

代码示例:

import requests

cookies = dict(name='test', age='18')
response = requests.get("http://httpbin.org/cookies", cookies=cookies)
print(response.text)

请求时也可以添加Cookie,只需在请求中添加cookies参数即可。

身份认证

代码示例:

import requests

auth = ('username', 'password')
response = requests.get("http://httpbin.org/basic-auth/username/password", auth=auth)
print(response.text)

进行身份认证时,只需在请求中添加auth参数即可,username和password分别为认证的用户名和密码。

代理设置

代码示例:

import requests

proxies = {"http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080"}
response = requests.get("http://www.taobao.com", proxies=proxies)
print(response.text)

进行代理设置时,在请求中添加proxies参数即可,指定http和https代理即可。

结束语

以上就是Requests库的基本用法和高级用法介绍,使用Requests发送HTTP请求和进行数据采集非常方便,有了Requests库,爬虫开发工作也就变得更加简单快速了。