Python爬虫新手村上手指南②

news/2024/7/19 9:24:09 标签: python, 爬虫, 开发语言

HTTP与HTTPS

HTTP协议

全称是Hypertext Transfer Protocol

中文意思是:超文本传输协议,是一种发布和接收HTML(Hypertext Markup Language)页面的方法。

服务端口号为80端口

HTTPS协议

全称是Hypertext Transfer Protocol over Securesocket Layer

是HTTPS协议的加密版本,在HTTP下加入了SSL层,服务端口号是443

URL与URI(降噪)

URL(网址)是Uriform Resource Locator 的简写,统一资源定位符

一个URL由以下几部分组成:

①协议的类型

②主机名称 / 域名

③端口号

④查找路径

⑤查询参数

⑥锚点:前端用来做页面定位的。现在一些前后端分离项目,也用锚点来做导航

URI 统一资源标识符 Uriform Resource identifier

一个用于标识某一互联网资源名称的字符串

举例说明:

www.baidu.com/s?wd=Python

www.baidu.com/s 就是url

/s 就是uri

? 之后,称为请求参数

常见的请求方式

HTTP协议规定了浏览器与服务器进行数据交互的过程中必须要选择一种交互的方式。

在HTTP协议中,定义了八种请求方式。常见的有get请求与post请求:

get请求:

一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会使用get请求

post请求:

post请求,向服务器发送数据,上传文件等等。

会对服务器资源产生影响的时候会使用post请求。

请求参数在formdata中。

以上是网站开发中常用的两种方法。并且一般情况下都会遵循使用的原则。

但是,有的网站和服务器为了做反爬虫机制,也经常会不按常理出牌。

有可能一个应该使用get方法的请求就一定要改成post请求,这个要视情况而定。

常见的请求参数

HTTP协议中,向服务器发送一个请求,数据分为三部分

①第一个是把数据放在url中

②第二个是把数据放在body中(post请求时)

③第三个就是把数据放在head中

常见的请求头参数

user-agent 浏览器名称

referer 表明当前这个请求是从哪个url过来的

cookie:

http协议是无状态的。也就是同一个人发送了两次请求。

服务器没有能力知道这两个请求是否来自同一个人。

常见的响应状态码

200 请求正常,服务器正常的返回数据

301 永久重定向。

比如访问 www.360buy.com/ 会重定向到 www.jd.com/

404 请求的url在服务器上找不到,换句话说就是请求的url错误

418 发送请求遇到服务器端反爬虫,服务器拒绝响应数据

500 服务器内部错误,可能是服务器出现了bug

使用Chrome浏览器分析网站

Elements

可以帮助我们分析网页结构,获取我们想要的数据。

Console

打印输出网站的一些信息

Sources

相当于一个文件夹一样,加载这个网页所需要的所有的源文件,

除了 Elements 的源代码之外,还有一些 CSS 文件,JS文件等。

Network

查看整个网页发送的所有网络请求。

session的工作原理

session 代表服务器与浏览器的一次会话过程。

session是一种服务端的机制,session对象用来存储特定用户会话所需的信息

session由服务端生成,保存在服务器的内存,缓存,硬盘或数据库中。

HTTP是一种无状态的请求,通过session或cookie可以记录会话过程。

session的基本原理

譬如,登录请求。

客户端,发送登录请求,在服务器端创建一个session对象,然后生成sessionID

响应cookie中存储sessionID,

此后客户端发送请求携带sessionID,通过sessionID判断是否是已登录用户。

cookie的工作原理

cookie是由服务端生成后,发送给客户端(通常是浏览器)

cookie总是保存在客户端

HTTP是无状态的,服务器不知道用户上一次做了什么。

这就严重阻碍了交互式web应用程序的一个实践。

cookie的基本原理

①创建cookie

②设置存储cookie

③发送cookie

④读取cookie

JSON数据及解析

JavaScript Object Notation

JS对象标记,是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得JSON成为理想的数据交互语言,易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

在数据结构上,JSON与Python里的字典非常相似。

ajax请求

①ajax在浏览器与web服务器之间使用异步数据传输。

这样就可以使网页从服务器请求少量的信息,而不是整个页面。

②ajax技术独立于浏览器和平台。

③ajax一般返回的是json,直接对ajax地址进行post或get,就返回json数据了。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

Python兼职渠道推荐

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓


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

相关文章

Java安全基础 必备概念理解

Java安全基础 关键概念汇总 文章目录 Java安全基础 关键概念汇总前置知识1.构造器this以及包的使用2.继承3.重写/ 重载 / super4.多态5.区分和equals方法6.toString的使用7.Object的概念8.static,final,代码块static代码块final 9.动态代理10.类的动态加载1)类加载器含义&#…

开关电源实际整改EMI经验大全(一)

EMC(Electromagnetic Compatibility)是电磁兼容,它包括EMI(电磁骚扰)和EMS(电磁抗骚扰)。EMC定义为:设备或系统在其电磁环境中能正常工作且不对该环境中的任何设备的任何事物构成不能承受的电磁骚扰的能力。EMC整的称呼为电磁兼容…

虚拟交换机简单认识

目录 一、概述 二、工作原理 三、常见的虚拟交换机实现 四、虚拟交换机的工作方式 五、应用场景 六、虚拟交换机作为SDN网络的数据平面 6.1 软件实现的数据平面 6.2 虚拟交换机作为数据平面 6.3 硬件与软件数据平面的结合 6.4 总结 一、概述 虚拟交换机(V…

el-upload的多个文件与单个文件上传

样式图&#xff1a; 场景多个&#xff1a; 使用el-upload上传多个文件 <el-upload class"upload-demo" :action"uploadUrl" :on-remove"handleRemove1":on-success"handleAvatarSuccess1" multiple :limit"5" :on-exc…

基于spring boot框架的发艺美发店管理系统

摘 要 系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而…

在react中使用tailwindcss

安装tailwind css npm i -D tailwindcssnpm:tailwindcss/postcss7-compat postcss^7 autoprefixer^9安装 CRACO 由于 Create React App 不能让您覆盖原生的 PostCSS 配置&#xff0c;所以我们还需要安装 CRACO 才能配置 Tailwind。 npm install craco/craco配置CRACO 在项目根…

JAVA基础—关于Java的反射机制

1. Java的反射机制是什么&#xff1f; 反射(reflection) 当我们谈及反射&#xff0c;可以将其比作正在照镜子的行为。就像你可以在禁止中看到自己的反射一样&#xff0c;程序在运行时可以检查自身的机构和行为。这意味这程序可以动态地了解自己地组成部分&#xff0c;比如类、…

数据库增删改查复习

增删改查 插入数据 #插入一行 insert into student values(xwz,男&#xff0c;18); #插入多行数据 insert into student values(xwz,男&#xff0c;18)&#xff0c;(jesse,女,12); #插入行的一部分 insert into studnet(name,gender,age) values(xwz,男,18) #插入查询出来的数…