介绍
本文是数据采集快速入门的第二篇,主要内容是requests的使用,前文地址
如果你还不了解什么是数据采集的话,那么你真的应该去看看第一篇文章。
requests安装
requests是一个非常流行的数据采集库,用于发送http请求,与urllib相比它让发送网络请求变得简单直观,是处理 数据采集的理想工具。
如果你还没有requests,记得使用pip进行安装:
pip install requests
requests使用
发送get请求
import requests
response = requests.get('https://example.com')
print(response.text) # 打印响应的内容
发送post请求
import requests
data = {'key': 'value'}
response = requests.post('https://example.com/', data=data)
print(response.text) # 打印响应的内容
发送put请求
import requests
url = 'https://example.com/'
data = {'key': 'updatedValue'} # 更新的数据
response = requests.put(url, data=data)
print(response.status_code) # 打印http状态码来检查操作是否成功
发送delete请求
import requests
url = 'https://example.com'
response = requests.delete(url)
print(response.status_code) # 打印http状态码来检查操作是否成功
requests使用cookie
手动发送cookie
import requests
url = 'https://example.com'
cookies = {'session_id': '123456789'}
response = requests.get(url, cookies=cookies)
print(response.text)
自动处理cookie
import requests
# 创建一个会话对象
session = requests.Session()
# 可以设置会话初始的cookies
session.cookies.set('initial_cookie', 'initial_value')
# 第一个请求
response1 = session.get('https://example.com/1')
print(response1.cookies) # 打印由服务器设置的cookies
# 第二个请求将自动携带由第一个请求服务器设置的cookies
response2 = session.get('https://example.com/2')
print(response2.text)
读取cookies
import requests
response = requests.get('https://example.com/data')
cookies = response.cookies
# 输出所有的 cookies
for cookie in cookies:
print(f"{cookie.name}: {cookie.value}")
总结
可以看出,requests的使用比起urllib要容易了许多,也更方便简洁。因此,现在可以考虑多使用requests,少使用urllib。
有人问我,那既然urllib都不用,你为什么还要介绍urllib呢?这不是多此一举吗?不对啊,这不对,urllib也是很重要的,这是python自带的一部分,曾经发挥过重要的作用,你可以不用,但是你得直到,不然漾银笑话。