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

3.爬虫基础——网络请求

网络请求

1.网络请求的分类:

网络请求主要有八种,如下表所示:

HTTP请求
   请求方式                                            描述
GET发送请求来获得服务器上的资源【比如请求百度的页面】
POST向服务器提交资源让服务器处理【比如百度云盘上传资源】
HEAD

主要用来检查资源或超链接的有效性或是否可以可达、检查网页是否被串改或更新

PUT向指定资源位置上上传其最新内容
DELETE请求服务器删除某资源
CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS允许客户端查看服务器的性能
TRACE回显服务器收到的请求,主要用于测试或诊断

最常用的是GET和POST请求。

(1)GET请求:一般情况下,发送请求从服务器上获取资源,不会对服务器资源产生任何影响的时候使用GET请求。

(2)POST请求:向服务器发送数据(登录)、上传文件等让服务器处理,会对服务器资源产生影响的时候使用POST请求。

这两个请求是在网站开发中最常使用的两种请求。

(3)GET请求示例:

网址:https://www.baidu.com/

(4)POST请求示例:

网址:https://www.wenjuan.com/

2.请求头常见参数

(1)User-Agent

指浏览器的名称。我们在向别人的服务器发送请求的时候,别人的服务器通过这个参数知道请求是从哪种浏览器发出的,这样就能返回正确的信息。但是如果不设置这个参数的话,我们如果使用Python发送去了请求,别人的服务器【大部分服务器】就知道这个请求时Python发出的,从而不给我们返回正确的数据。因此我们必须设定这个参数。

(2)Referer

表明这个网页是从哪个网站跳转过来的。有些网页只能从特定的链接跳转过来,如果不设置这个参数,有些网页就知道你是通过非浏览器方式试图获取他们的html页面,因此就不返回给你正确的数据。所以这个参数可以用来进行反爬虫设计,我们需要设定这个参数。

(3)Cookie

HTTP协议是无状态的。也就是同一个人在浏览器上发送了两次请求,服务器不知道这两个请求是否来自同一个人。因此这时候就用Cookie来做标识。一般登陆后才能访问的网页,这个时候就需要发送Cookie信息。

【网址示例】

百度页面:https://www.baidu.com/

CSDN博客页面:https://www.csdn.net/

3.常见响应状态码

状态码含义
200请求成功
301

       永久重定向,资源(网页等)被永久转移到其它URL

             【www.jingdong.com --->>>www.jd.com】

404 请求的资源(网页等)不存在
500 内部服务器错误

扫描二维码即可参与该课程,解锁更多爬虫知识:

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用Rman的Plus archvielog选项简化数据库备份操作
  • 4.爬虫基础——你真的了解url(网址)吗?
  • 1.爬虫数据提取——方法总结
  • 如何从结果集中获得随机结果
  • 2.爬虫数据提取——Xpath环境配置
  • Oracle9i新特性:iSQLPLUS
  • 3.爬虫数据提取——Xpath语法
  • 4.爬虫数据提取——lxml库的环境配置
  • 征服---深绿大师
  • Why doesn't Windows 2000 retain my pagefile settings?
  • Anaconda的虚拟环境
  • CSDN Windows专区9X版版主测试题目
  • 6.爬虫数据提取——正则表达式
  • 近读《杨度》(又名旷代逸才)有感
  • 5.爬虫数据提取——正则表达式
  • 【面试系列】之二:关于js原型
  • 【知识碎片】第三方登录弹窗效果
  • 10个最佳ES6特性 ES7与ES8的特性
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Intervention/image 图片处理扩展包的安装和使用
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Octave 入门
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python实现BT种子转化为磁力链接【实战】
  • Travix是如何部署应用程序到Kubernetes上的
  • Webpack 4 学习01(基础配置)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 检测对象或数组
  • 码农张的Bug人生 - 初来乍到
  • 人脸识别最新开发经验demo
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • Prometheus VS InfluxDB
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​比特币大跌的 2 个原因
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #pragma once与条件编译
  • #Z0458. 树的中心2
  • #控制台大学课堂点名问题_课堂随机点名
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (CPU/GPU)粒子继承贴图颜色发射
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)Oracle存储过程编写经验和优化措施
  • (转载)深入super,看Python如何解决钻石继承难题
  • .Net Core 生成管理员权限的应用程序
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args