爬虫-post请求

本文由张晨撰写,介绍了Python爬虫中GET和POST请求的区别,包括安全性、数据大小、数据类型和传参方式等。还通过实例展示了如何获取二进制数据、发送POST请求以及使用session发送请求,分享了爬虫实战经验。
摘要由CSDN通过智能技术生成

我是张晨,一转眼,我在新课已经学习了很长一段时间。回顾这几个月的时间,我收获了很多知识。这里是我的一点学习笔记。
一、post请求和get请求的区别

(1)post请求更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中,get请求的是静态资源,则会缓存,如果是数据,则不会缓存)

(2)post请求发送的数据更大(get请求有url长度限制,http协议本身不限制,请求长度限制是由浏览器和web服务器决定和设置)

(3)post请求能发送更多的数据类型(get请求只能发送ASCII字符)

(4)传参方式不同(get请求参数通过url传递,post请求放在request body中传递)

(5)get请求产生一个TCP数据包;post请求产生两个TCP数据包(get请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据;post请求,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 返回数据)

二、获取二进制数据(爬百度官网logo实战)

快速找到图片链接位置

方法:F12快捷键---->鼠标附魔---->点击图片找到链接

​ 需要确认和检查图片链接是否完整

示例:

import requests

# 图片链接
url = 'https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png'
image = requests.get(url)
# headers 90%情况下是不需要的,特别是图片 (当获取不到图片数据的时候才加上请求头数据)
# print(image.content)
# 获取响应对象的进制数据
# 保存图片
f = open(f'百度logo.png'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值