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

爬虫的http和https基础

HTTP响应状态码响应状态码

下面来看下详细的状态码数值和说明:

200系列:
  • 200 OK:这个是最常见的,也是爬虫工程师最喜欢的,代表你本次的请求顺利拿到了响应,没有任何问题

  • 201 Created:201代表创建成功。通常是指浏览器或爬虫给服务器上传数据,服务器接受并验证数据没有问题之后,服务器返回客户端一个201,代表成功。提交数据,通常是POST方法提交

  • 202 Accepted:服务器拿到了数据,但是还没处理好结果,所以先发回一个202.这个状态码一般在爬虫中看不到,但是适合在异步操作的情况下返回。

300系列
  1. 301 Moved Permanently:当前资源的网址永久性迁移,并且会给你一个新的网址。值得注意的是,如果是POST请求拿到301,则下一次请求自动变成GET。

  2. 301 Moved Permanently:当前资源的网址永久性迁移,并且会给你一个新的网址。值得注意的是,如果是POST请求拿到301,则下一次请求自动变成GET。

  3. 301 Moved Permanently:当前资源的网址永久性迁移,并且会给你一个新的网址。值得注意的是,如果是POST请求拿到301,则下一次请求自动变成GET。

400系列
  1. 400 Bad Request:错误请求,400系列最典型的,看到这个错误,要么是请求头参数不对,要么是请求主体的内容错误。

  2. 401 Unauthorized:401认证错误,这个还是非常好识别的,身份无法识别或者身份权限不够,检查请求头中的身份字段信息和Cookie值。

  3. 403 Forbidden:禁止访问,大并发爬虫中比较容易碰到,问题很直观,你访问太多了【换IP或电脑】,或者身份权限不够【换身份信息】。

  4. 404 Not Found:404找不到,这个错误不用太在意,用浏览器测试几次就好,要么是你的网址写错了,要么是网址对应的网络资源无法加载【这不怪程序】。

  5. 405 Method Not Allowed:405方法不被允许,简单且少见的错误,意思就是你请求的姿势不对,检查请求方法,如Get、Post、Put、Delete,总有一个是对的。

500系列
  1. 500 Internal Server Error:网络错误,就和你断网了一样,具体点就是你的网络和网址所在网络,无法连通。

  2. 502 Bad Gateway:网关错误,请求出去要被网关解析目的地址并转发你的请求,这个错误就是网关不工作了,无法把你的请求发出去。这里的网关,可以理解成你的路由器或者你用的代理IP服务器。

  3. 503 Service Unavailable:服务不可用,这个就是目标服务器的问题了,你要做的是通知网站管理员或者等。一般情况下,国家网站部分有休息时间,例如晚上关网。商业服务器的服务不可用,大多是升级或者临时卡了,可以过段时间再试。

  4. 504 Gateway Timeout:网关超时,这个504和502,都是网关的问题,但是又不一样。504是你找网关转发,你默认等待180秒【3分钟】,然后网关超时了没理你;502的问题是,你压根就找不 到网关。

  5. 505 HTTP Version Not Supported:HTTP版本不支持,这个比较少见,但是肯定有。网站内容太新或者太旧,对客户端的http版本要求不一样。你需要检查下本次请求所使用的http版本,然后改 成网站指定版本,就可以解决这个问题。

爬虫解决HTTPS认证的解决问题认证的解决问题

解决方法:

  1. 验证错误,那就不验证

  2. 更新系统的证书库

  3. 更新pip库:pyopenssl和cryptography

解决思路:

  • 优先使用不认证,简单暴力,还有效

  • 运行或者部署爬虫时,记得同步pyopenssl和cryptography

  • 操作系统越新,约不容易碰到

爬虫请求不进行不验证

请求不验证操作

requests.get('中国铁路12306网站',verify=False)

  • 优势:在客户端与服务端建立连接的情况下,不会出现什么问题,数据会照常传输。

  • 缺点:可能被盗。

更新系统的证书库

更新系统证书库

更新pip库

更新pip库

总结

  • 优先使用不认证,简单暴力,还有效

  • 运行或部署爬虫时,记得同步pyopenssl和cryptography

  • 操作系统越新,越不容易碰到SSL错误

相关文章:

爬虫的http和https基础

HTTP响应状态码响应状态码 下面来看下详细的状态码数值和说明: 200系列: 200 OK:这个是最常见的,也是爬虫工程师最喜欢的,代表你本次的请求顺利拿到了响应,没有任何问题 201 Created:201代表…...

读像火箭科学家一样思考笔记05_思想实验

1. 思想实验室 1.1. 思想实验至少可以追溯到古希腊时期 1.1.1. 从那时起,它们就跨越各个学科,在哲学、物理学、生物学、经济学等领域取得重大突破 1.1.2. 它们为火箭提供动力,推翻政府,发展进化生物学,解开宇宙的奥…...

mac gitee新建工程遇到的一些问题

首先,记录一下mac系统显示隐藏文件夹的快捷键:commandshift句号,可以显示工程目录下的隐藏的git文件夹 一 git报错:‘origin‘does not appear to be a git repository的解决方法 找到工程目录下的.git/config文件发现里边没有remote orig…...

某60区块链安全之Call函数簇滥用实战一学习记录

区块链安全 文章目录 区块链安全Call函数簇滥用实战一实验目的实验环境实验原理实验内容实验过程 Call函数簇滥用实战一 实验目的 学会使用python3的web3模块 学会以太坊Delegatecall漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 call 外部调用…...

最新AIGC创作系统ChatGPT系统源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图,图片对话理解功能

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

openssl+ SM2 + linux 签名开发实例(C++)

文章目录 一、SM2 签名理论基础二、SM2签名开发实例 一、SM2 签名理论基础 SM2是中国国家密码管理局发布的椭圆曲线密码算法标准,用于数字签名、密钥交换和公钥加密等安全通信场景。以下是SM2签名的理论基础相关知识点: 椭圆曲线密码学(Elli…...

U4_1:图论之DFS/BFS/TS/Scc

文章目录 一、图的基本概念二、广度优先搜索(BFS)记录伪代码时间复杂度流程应用 三、深度优先搜索(DFS)记录伪代码时间复杂度流程时间戳结构BFS和DFS比较 四、拓扑排序一些概念有向图作用拓扑排序 分析伪代码时间复杂度彩蛋 五、强…...

STM32框架之按键扫描新思路

STM32框架之按键扫描新思路 引入代码展示思路分析 我们学习了定时器实现毫秒级/秒级任务框架,这期我们基于任务框架学习按键扫描新思路。 引入 在按键扫描的过程中,最重要的一步就是按键消抖,解决的方法最简单粗暴的就是先扫描一次按键状态&…...

完美解决k8s master节点无法ping node节点中的IP或Service NodePort的IP

1、问题一 使用搭建好了K8S集群,先是node节点加入k8s集群时,用的内网IP,导致master节点无法操作node节点中的pod(这里的不能操作,指定是无法查看node节点中pod的日志、启动描述、无法进入pod内部,即 kubec…...

弗洛伊德算法(C++)

目录 介绍: 代码: 结果: 介绍: 弗洛伊德算法(Floyd algorithm)也称为Floyd-Warshall算法,是一种用于求解所有节点对之间的最短路径的动态规划算法。它使用了一个二维数组来存储所有节点…...

相对定位、绝对定位、固定定位、绝对定位堆叠顺序

相对定位:相对自己本身进行偏移 CSS语法: position: relative;/*相对自己进行定位*/ top: 10px;/*距离上边*/ left: 10px;/*距离左边*/ 演示图: 绝对定位:默认以浏览器进行定位。如果想依照父盒子定位,需要在父盒子…...

px4+vio实现无人机室内定位

文章主要讲述px4 如何利用vins_fusion里程计数据实现在室内定位功能。 文章基于以下软、硬件展开。 硬件软件机载电脑: Intel NUC系统:Ubuntu 20.04相机: Intel Realsense D435iros:noetic飞控:Pixhawk 2.4.8固件&am…...

享元模式 rust和java的实现

文章目录 享元模式介绍实现javarust实现代码 rust仓库rust仓库 享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应…...

XmlElement注解在Java的数组属性上,以产生多个相同的XML元素

例如&#xff0c;下面这段XML数据&#xff0c;有多个data元素&#xff0c;并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…...

SQLServer 数字加千分位 用FORMAT函数强转不管多大位数

问题 CONVERT ( money, CONVERT ( money, CAST ( round( FTP_AMOUNT, 2 ) AS NUMERIC ( 20, 2 ) ) ) 1 ) AS FTP_AMOUNT用的money函数 结果空间不足&#xff0c;无法将 money 值转换为 varchar。 可以强转 select FORMAT(CAST ( round( ‘-8926143870680.62000000’, 2 ) AS N…...

说说mvc和mvvm的区别和联系

mvvm 与mvc mvvm 与mvcmvc和mvvm的区别和联系 举例说明mvvm与mvc MVC是一种用于构建应用程序的架构模式&#xff0c;它也将应用程序的逻辑和界面分离。它由三个主要组件组成&#xff1a; 模型&#xff08;Model&#xff09;&#xff1a;表示应用程序的数据和业务逻辑。视图&a…...

linux rsyslog综合实战2

本次我们通过rsyslog服务将A节点服务器上的两个(E.g:多个日志也可以)日志(Path:/var/log/245-1.log、245-2.log)实时同步到B节点服务器目录下(Path:/opt/rsyslog/245) 1.rsyslog架构 2.环境信息 环境信息 HostnameIpAddressOS versionModuleNotersyslog1192.168.10.245CentOS…...

AcWing 4. 多重背包问题 I 学习笔记

有 N&#xfffd; 种物品和一个容量是 V&#xfffd; 的背包。 第 i&#xfffd; 种物品最多有 si&#xfffd;&#xfffd; 件&#xff0c;每件体积是 vi&#xfffd;&#xfffd;&#xff0c;价值是 wi&#xfffd;&#xfffd;。 求解将哪些物品装入背包&#xff0c;可使物…...

解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面

文章目录 解决方法完整的配置 解决方法 在初始化浏览器的时候&#xff0c;添加以下配置即可&#xff1a; option webdriver.ChromeOptions()prefs {"profile.managed_default_content_settings.images": 2, # 禁止加载图片# permissions.default.stylesheet: 2, …...

2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-C

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C 一、竞赛时间 总计&#xff1a;360分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 本地安全策略设置 A-3 流量完整性保护 A-4 …...

STC8H内置ADC的隐藏技巧:如何用1.19V基准源实现MCU供电电压监测?

STC8H内置ADC的隐藏技巧&#xff1a;如何用1.19V基准源实现MCU供电电压监测&#xff1f; 在物联网设备和便携式电子产品的设计中&#xff0c;电源管理一直是工程师们需要重点考虑的环节。尤其是对于电池供电的设备&#xff0c;实时监测MCU的供电电压不仅能够预警低电量状态&…...

5分钟彻底解锁VMware macOS支持:免费工具完整指南

5分钟彻底解锁VMware macOS支持&#xff1a;免费工具完整指南 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 想在Windows或Linux电脑上运行macOS虚拟机&#xff0c;却发现VMware默认不支持苹果系统&am…...

JoyCon-Driver:让Switch控制器在Windows上重获新生的终极指南

JoyCon-Driver&#xff1a;让Switch控制器在Windows上重获新生的终极指南 【免费下载链接】JoyCon-Driver A vJoy feeder for the Nintendo Switch JoyCons and Pro Controller 项目地址: https://gitcode.com/gh_mirrors/jo/JoyCon-Driver 你是否曾经想过&#xff0c;那…...

vCenter Server证书过期别慌!保姆级排查与修复指南(含STS证书检查脚本)

vCenter证书危机应对手册&#xff1a;从紧急诊断到自动化修复全流程 清晨7点&#xff0c;当你像往常一样尝试登录vSphere Client时&#xff0c;浏览器突然弹出鲜红的证书警告页面——这个场景足以让任何VMware管理员心跳加速。证书过期问题看似简单&#xff0c;实则可能引发连锁…...

研究生组会多久开一次合理?

研究生组会每1至2周举行一次较为合理‌&#xff0c;具体频率应根据学科特点、研究进度和团队需求动态调整。不同学科的组会频率建议&#xff1a; 理工科&#xff08;实验类&#xff09;‌&#xff1a;建议‌每周一次‌。实验数据更新快&#xff0c;高频组会有助于及时发现问题、…...

Perfetto vs Systrace:全面对比与迁移指南

Perfetto vs Systrace&#xff1a;下一代Android性能分析工具的全景解析 从Systrace到Perfetto的技术演进之路 在Android性能优化领域&#xff0c;系统级追踪工具的选择往往决定了开发者的调试效率。过去十年间&#xff0c;Systrace作为官方标配工具帮助了无数开发者定位UI卡顿…...

3步开启OBS专业直播:RTSP服务器插件实战指南

3步开启OBS专业直播&#xff1a;RTSP服务器插件实战指南 【免费下载链接】obs-rtspserver RTSP server plugin for obs-studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-rtspserver 你是否曾希望将OBS的直播内容直接推送到监控系统、智能电视或专业视频设备&am…...

别再乱设False Path了!异步电路CDC Signoff中Max Delay约束的实战避坑指南

异步电路CDC Signoff中Max Delay约束的实战避坑指南 在数字芯片设计的后端实现流程中&#xff0c;异步时钟域(CDC)的时序收敛一直是个令人头疼的问题。不同于同步电路STA中清晰的setup/hold检查&#xff0c;CDC验证需要工程师对跨时钟域数据传输的本质有深刻理解。本文将聚焦一…...

深蓝词库转换:彻底告别跨平台输入习惯迁移困扰

深蓝词库转换&#xff1a;彻底告别跨平台输入习惯迁移困扰 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因为更换操作系统或输入法而不得不放弃多年积累的…...

百度网盘提取码一键查询终极指南:3秒破解资源访问障碍

百度网盘提取码一键查询终极指南&#xff1a;3秒破解资源访问障碍 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗&#xff1f;每次看到"请输入提取码"的提示&#xff0c;是…...