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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/468362.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BootScrap详细教程

文章目录 前言一、BootScrap入门二、导航三、栅格系统四、container五、面板六、媒体对象七、分页八、图标九、实现动态效果 前言 BootScrap是别人帮我们写好的CSS样式。如果想要使用BootScrap,需要先下载下来,在页面上引入,编写HTML需要按照…

【C语言】空心正方形图案

思路&#xff1a; 1&#xff0c;两行两列打印* &#xff1a;第一行和最后一行&#xff0c;第一列和最后一列。 2&#xff0c;其他地方打印空格。 代码如下&#xff1a; #include<stdio.h> int main() { int n 0; int i 0; int j 0; while (scanf("…

【LabVIEW FPGA入门】并行执行

利用图形化编程的并行特性以及 FPGA 上 LabVIEW 图的真正并行实现&#xff0c;您可以通过将应用程序代码划分为更小的进程来进一步优化执行速度。与整个应用程序在一个循环中运行相比&#xff0c;这使得每个进程能够实现更高的循环速率和更高的应用程序整体执行速率。 …

除了 ChatGPT,还有哪些好用的AI工具?

0. 前言 OnlyFans 订阅教程移步&#xff1a;【保姆级】2024年最新Onlyfans订阅教程 Midjourney 订阅教程移步&#xff1a; 【一看就会】五分钟完成MidJourney订阅 GPT-4.0 升级教程移步&#xff1a;五分钟开通GPT4.0 如果你需要使用Wildcard开通GPT4、Midjourney或是Onlyfa…

哪些超声波清洗机值得买?百元内超声波清洗机值得买推荐

日常生活中&#xff0c;无论是精致的珠宝首饰、眼镜&#xff0c;还是日常使用的化妆刷、剃须刀等&#xff0c;难免会沾染灰尘与污垢&#xff0c;长久下来不仅影响外观&#xff0c;更可能对使用效果造成负面影响。而传统的手工清洁往往既费时又费力&#xff0c;且难以彻底清洁到…

2024年度最佳大型语言模型(LLMs)汇总

大型语言模型(LLMs)是人工智能文本处理的主要类型&#xff0c;也现在最流行的人工智能应用形态。ChatGPT是迄今为止最著名的使用LLM的工具&#xff0c;它由OpenAI的GPT模型的特别调整版本提供动力。但还有许多其他聊天机器人和文本生成器&#xff0c;包括从Google Bard和Anthro…

机器学习_正则化

文章目录 代价函数 如果我们有非常多的特征&#xff0c;我们通过学习得到的假设可能能够非常好地适应训练集&#xff08;代价函数可能几乎为 0&#xff09;&#xff0c;但是可能会不能推广到新的数据。 下图是一个回归问题的例子&#xff1a; 第一个模型是一个线性模型&#xf…

Anaconda下载以前的旧版本

由于Anaconda新的版本&#xff0c;可能不太适合我们当前开发&#xff0c;我们需要下载历史版本 访问Anaconda官网的历史版本下载页面: https://repo.anaconda.com/archive/

PostgreSQL开发与实战(7)多版本并发控制1

作者&#xff1a;太阳 一、 表系统字段几个比较重要概念 1.1 tuple tuple表示表中的数据行&#xff0c;在MySQL中用row表示。 在表数据页中&#xff0c;主要分为普通的数据元祖和TOAST元祖。以下是一个普通数据元祖的结构&#xff0c;主要由三部分组成&#xff1a;HeapTupl…

如何进行软件安全性测试?CMA、CNAS软件安全测试报告获取

软件安全性测试是保障软件应用安全的重要手段&#xff0c;通过对软件系统的安全性进行全面评估和检测&#xff0c;以确保软件能够抵御各种潜在的安全威胁和风险。那么如何进行软件安全性测试?CMA、CNAS软件安全测试报告又该如何获取呢? 软件安全性测试是一种基于黑盒测试的方…

数据可视化-ECharts Html项目实战(3)

在之前的文章中&#xff0c;我们学习了如何创建堆积折线图&#xff0c;饼图以及较难的瀑布图并更改图标标题。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 …

C#类型转换

C#类型转换 隐式类型转换 类型转换从根本上说是类型铸造&#xff0c;或者说是把数据从一种类型转换为另一种类型。在 C# 中&#xff0c;类型铸造有两种形式&#xff1a; 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如&#xff0c;从小的…

深入理解与实践AB测试:从理论到实战案例解析

一、引言 在互联网产品优化和运营策略制定中&#xff0c;AB测试&#xff08;也称为分组测试或随机化对照实验&#xff09;是一种科学且严谨的方法。它通过将用户群体随机分配至不同的实验组&#xff08;通常是A组和B组&#xff09;&#xff0c;对比不同版本的产品或策略对关键…

CMake+vcpkg+VS2022配置github上的cmake开源项目外部库

我们以采用 GitHub 上的开源库 cuda-bundle-adjustment 为例&#xff0c;其不能直接用vcpkg进行安装&#xff0c;只能通过cmake编译后链接到VS2022。 将 cuda-bundle-adjustment 库通过 CMake 编译链接到 Visual Studio 2022 步骤操作&#xff1a; 克隆存储库&#xff1a;使用…

【实验01 扩展实验】C#桌面项目:简易计算器

【实验要求】 &#xff08;1&#xff09;新建一个C#桌面项目Calc&#xff0c;实现简易计算器功能&#xff0c;界面如图1所示。 &#xff08;2&#xff09;计算方式&#xff1a;通过点击对应的按钮&#xff0c;输入第1个数&#xff08;可以是整数或实数&#xff09;&#xff0c…

呵护地球不止一小时 食品行业如何为地球减负

“关爱地球,熄灯一小时”。作为全世界规模最大的应对气候变化行动之一,“地球一小时”自2007年进入中国以来,一直广受关注,社会各界竞相支持并参与。2024年,该活动以“为地球献出一小时”为主题,呼吁社会各界以实际行动为地球减负。 作为与大众日常生活息息相关的食品企业该如何…

【C++】堆区空间的申请和释放--- 2024.3.19

目录 C和C的区别&#xff08;申请堆区空间&#xff09;C中的new和delete结束语 C和C的区别&#xff08;申请堆区空间&#xff09; 在c语言中&#xff0c;在遇到需要申请一块堆区空间时&#xff0c;我们往往会使用malloc申请&#xff0c;使用free进行释放&#xff0c;但是为什么…

BUUCTF-Ezsql1

1.打开靶机 打开第一个链接 2.万能密码 使用万能密码&#xff1a;a or 1 # 密码为随意 第二个用kali打开 3.ssh连接靶机 ssh ctf284490d0-7600-4c65-9160-5ced02f45633.node5.buuoj.cn -p 28191 由题可知密码为123456 4.找到并修改index.php文件 找到index.php文件 #内容如…

Trait与生命周期

原文链接&#xff1a;(*∇&#xff40;*) 咦,又好了~ Rust – xiaocr_bloghttp://www.xiaocr.fun/index.php/2024/03/18/trait%E4%B8%8E%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/ 目录 Trait 定义trait 默认实现 trait作为参数 Trait Bound语法 通过指定多个 trait bound …

【C++】内存管理和模板基础(new、delete、类及函数模板)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;http://t.csdnimg.cn/eCa5z 目录 内存分布 C内存管理方式 new/delete操作内置类型 new和delete操作自定义类型 operator new与operator d…