python3 爬虫相关学习2:网页相关基础知识笔记

news/2024/7/19 10:42:51 标签: 爬虫, 学习, 笔记

1 网页的构成

一般来说,日常看到的网站的网页的组成内容有如下

  • html 结构的代码
  • css 结构的代码
  • 资源(文字,图片,音乐,视频等等)

html 网页结构描述的语言

比如这种写法的文件

<html>

<body>

</body>

</html>

CSS,外部格式

比如这种写法的文件
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

2 传输协议

  • http:超文本传输协议
  • https:即带有安全套接字层的超本文传输协,
  • 超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件
  • 传输协议:是指使用约定的格式来传递信息,转换成字符串的超文本内容
  • https:HTTP + SSL(安全套接字层)
  • SSL对传输的内容(超文本,也就是请求体或响应体)进行加密

3 端口号

  • HTTP:  默认端口号:    80
  • HTTPS:默认端口号:   443
  • 站点A-------协议名:端口号----------站点B
  • 其中 http的80 和 https 的443 可以缺省不写
  • 但是如果http里用8080 就必须带上 :8080
  • 8080 还经常用于代理proxy

4 网页返回的状态码

  • 比如上面得到的  Status Code:200 OK
  • 而且这些可以作假,网页服务器端可以故意欺骗爬虫,正确的时候给你返回404,错误的时候给你返回200
200成功
302跳转,新的url在响应的Location头中给出
303浏览器对于POST的响应进行重定向至新的url
307浏览器对于GET的响应重定向至新的url
403资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)
404找不到该页面
500服务器内部错误
503服务器由于维护或者负载过重未能应答,在响应中可能可能会携带Retry-After响应头;有可能是因为爬虫频繁访问url,使服务器忽视爬虫的请求,最终返回503响应状态码
403资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)

5 爬虫和客户端网页的差别

  • 客户端无论是pc 还是 phone ,客户端一般展示位一个网页
  • 而网页里,会综合展示 html, css,资源等等,综合处理效果
  • 爬虫只是模仿 客户端,一般只一次次的进行求和和响应的解析,不综合处理最后效果,

6 这些网页知识(待学习

Content-Type

Host (主机和端口号)

Connection (链接类型)

Upgrade-Insecure-Requests (升级为HTTPS请求)

User-Agent (浏览器名称)

Referer (页面跳转处)

Cookie (Cookie)

Authorization(用于表示HTTP协议中需要认证资源的认证信息,如前边web课程中用于jwt认证)

加粗的请求头为常用请求头,在服务器被用来进行爬虫识别的频率最高,相较于其余的请求头更为重要,但是这里需要注意的是并不意味这其余的不重要,因为有的网站的运维或者开发人员可能剑走偏锋,会使用一些比较不常见的请求头来进行爬虫的甄别


http://www.niftyadmin.cn/n/324822.html

相关文章

不愧是腾讯 ,问的贼细

腾讯软件测试岗位的面试流程可能会因个人经验和公司而异&#xff0c;但通常情况下&#xff0c;腾讯软件测试的面试分为初试、二面、三面和四面。以下是每一轮面试可能涉及到的问题&#xff1a; 初试&#xff1a; 请介绍一下自己&#xff0c;以及为什么想要加入腾讯软件测试团…

matlabR2021b启动很慢和初始化时间很长解决

工具&#xff1a;MatlabR2021b。 问题记录&#xff0c;在网上下载安装包后&#xff0c;安装后&#xff0c;发现软件启动时间很长。进入界面后软件需要较长时间的初始化。才能就绪。 查询原因为软件需要在启动是查询licence。 首先在安装文件夹中启动Activate MATLAB R2021b。…

chatgptH5源码开发

hatGPTH5源码开发需要以下步骤&#xff1a; 确定需求&#xff1a;在开发ChatGPTH5应用之前&#xff0c;需要明确用户的需求和目标&#xff0c;以便进行合理的设计和开发。 技术选型&#xff1a;选择适合的前端技术框架和工具&#xff0c;如React、Vue、Angular等&#…

TouchGFX开发(3)----触摸屏幕组件点亮LED

TouchGFX开发.3----触摸屏幕组件点亮LED 概述生成例程配置时钟树开启调试接口移植SSD1306配置调试开启TouchGFX设置屏幕刷新率配置TouchGFXTouchGFX代码配置编译实际效果 概述 TouchGFX是一种先进的软件框架&#xff0c;用于开发嵌入式图形界面(GUI)。借助其特性&#xff0c;…

ARM板上的蓝牙对讲功能

1&#xff09;ARMRTL8723 或RTL8821 RTL8723是USB接口的邮票芯片&#xff0c;集成了wifi和BT。前面已经完成了wifi的处理&#xff0c;这次主要说一下蓝牙语音方面。 蓝牙功能&#xff0c;我们主要是使用Bluez5协议栈.结合alsa使用&#xff08;pulseaudio也是可以的&#xff0c…

Windows语音输入工具对比:讯飞输入法、搜狗输入法、百度输入法、Windows原装语音输入、LilySpeech

视频演示效果 功能对比 -讯飞输入法搜狗输入法百度输入法Windows原装语音输入LilySpeech中文语音支持支持支持支持不支持英文语音支持支持不支持支持支持快捷键切换语种不支持不支持不支持不支持不支持是否占用剪贴板不占用占用占用不占用不占用长文本模式支持不支持不支持不支…

优思学院|什么是精益生产?企业如何实现精益生产?

简介 在现代工业社会中&#xff0c;企业的生产效率和质量管理是其生存和发展的关键因素之一。而精益生产作为一种高效的生产管理模式&#xff0c;已经成为了众多企业提升效率和质量的首选。优思学院[1]在本文将对精益生产进行详细的介绍&#xff0c;并提供企业实现精益生产的实…

枚举【Java】

文章目录 枚举的使用switch语句Enum类的常用方法枚举的构造方法 反射与枚举 在之前的学习中&#xff0c;如果我们需要组织一组枚举类型的数据&#xff0c;我们通常会使用常量来进行定义。但这种定义方式存在一个问题就是&#xff1a;如果在一个程序中&#xff0c;普通常量和使用…