当前位置: 首页 > news >正文

爬虫系列之发送请求与响应《一》

一、请求组成

1.1 请求方式:GET和POST请求

GET:从服务器获取,请求参数直接附在URL之后,便于查看和分享,常用于获取数据和查询操作
POST:用于向服务器提交数据,其参数不会显示在URL中,而是包含在请求体中,适用于要保密的数据处理,如表单提交

1.2 请求url:目标url(链接)

1.3 请求头

请求头信息告诉服务器有关于客户端请求的信息
(1)User-Agent 的识别与应用
User-Agent报头携带客户端身份信息,如浏览器名称和版本,服务器利用这些信息进行内容适配或返回特定响应,相当于人的身份证
 

(2) Referer 报头的跟踪功能
Referer报头记录了请求发起的原始页面url,通过分析这一信息,可以追踪用户在网址键得到导航路径(从哪个页面跳转过来的

(3)Cookie 报头作用
Cookie报头使浏览器能够向服务器发送存储的用户信息,这些小型数据体支持状态维护、用户认证等web功能,主要帮助我们维持登录状态

1.4 请求体:携带的参数


二、GET和POST传参

注意:在浏览器发送的请求都是get请求,post请求只能在代码中使用

2.1 get 传参

方法一:

response = requests.get(url='https://httpbin.org/get?age=18&name=tom')   

直接写在url里面,问号?后面的就是携带的参数,多个参数用&隔开

方法二:

params ={
    "age":18
}
response = requests.get(url='https://httpbin.org/get?age=18',params=params)  

写在参数里面

2.2 POST 传参

data = {
    "user":'tom'
}
response = requests.post(url='https://httpbin.org/post',headers=header,data=data)

三、利用开发者工具查看携带的参数

在浏览器按下 F12 打开开发者工具

 携带参数才会有载荷,载荷里面可以查看携带的参数


四、实战之爬取百度首页

前提:需要安装依赖模块  requests

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

完整步骤

import requests

# 1,身份伪装
header={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
}
# 2,目标url
url = 'https://www.baidu.com/'

# 3,发起get请求
response = requests.get(url=url,headers=header)

# 4,打印当前内容的编码格式,再去对比开发者工具当中响应内容的编码,要对应上才不会乱码
print("编码格式为:",response.encoding)
# 5,修改编码格式
response.encoding="utf-8"
# 6,查看请求头字段:查看是否需要进行伪装
print(response.request.headers)
# 7,打印结果
print(response.text)  # .text 是以字符串返回的

特别提醒:查看网页元素的编码格式参照以下步骤



文章转载自:

http://yj2kVJC9.mkccd.cn
http://xeSKPkv6.mkccd.cn
http://UhSUGMbn.mkccd.cn
http://U1yEn2yN.mkccd.cn
http://YgBfDVXl.mkccd.cn
http://RuEZkB5c.mkccd.cn
http://5qAVmnm8.mkccd.cn
http://1mm8jSrX.mkccd.cn
http://uDp6Vshn.mkccd.cn
http://cETx56pm.mkccd.cn
http://ChOggpGI.mkccd.cn
http://sPhu2Xix.mkccd.cn
http://5nUcrV9w.mkccd.cn
http://PFUlFZYp.mkccd.cn
http://MTit967W.mkccd.cn
http://yRc3KJag.mkccd.cn
http://BGuxnfqT.mkccd.cn
http://u5pb6QaC.mkccd.cn
http://qLqi23jS.mkccd.cn
http://pHgQ1mou.mkccd.cn
http://xnpb9be0.mkccd.cn
http://I5oUK31D.mkccd.cn
http://RVZKZbiO.mkccd.cn
http://bFcFrgQ3.mkccd.cn
http://EkfJyEYr.mkccd.cn
http://qZt4gMhv.mkccd.cn
http://0gaLVGoW.mkccd.cn
http://TNWJk512.mkccd.cn
http://uWnc6FUk.mkccd.cn
http://l9eTIgu4.mkccd.cn
http://www.dtcms.com/a/45805.html

相关文章:

  • 【音视频】VLC播放器
  • 在 Windows 上为流体/结构工具设置 Ansys 远程求解管理器 (RSM):分步指南
  • 【计算机网络入门】初学计算机网络(七)
  • 算力100问☞第66问:如何降低大模型的训练成本?
  • 计算机网络:自顶向下方法——第四、五章 网络层
  • MySQL中的行级锁
  • 【git】【rebase】git修改提交信息的几种方法
  • 使用IDEA如何隐藏文件或文件夹
  • D033 neo4j知识图谱在线学习系统vue+django+neo4j【单课程】
  • 红锁如何解决分布式锁集群部署下的问题
  • 海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
  • 计算机视觉(opencv-python)之图像预处理基本操作(待补充)
  • 笔试练习day11
  • 【大模型】Windows桌面版AnythingLLM安装与配置教程
  • Docker网络模式实战
  • 大白话css第六章深入探索前沿技术、性能极致优化以及参与社区与知识沉淀
  • 6-1JVM的执行引擎处理
  • keil5模块化编程
  • JavaScript 变量概述
  • 第二十六天:Scrapy 框架-下载中间件Middleware
  • EL表达式和JSTL标签
  • Python 如何实现 Markdown 记账记录转 Excel 存储
  • RabbitMQ 常见问题
  • PostgreSQL 生产环境升级指南:pg_upgrade 快速完成版本升级!
  • 计算机毕业设计SpringBoot+Vue.js智能无人仓库管理系统(源码+文档+PPT+讲解)
  • 如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
  • MagicArticulate: Make Your 3D Models Articulation-Ready 论文解读
  • Spring项目-抽奖系统(实操项目-用户管理接口)(THREE)
  • Linux中读写锁详细介绍
  • 数学建模:MATLAB极限学习机解决回归问题