python爬虫基础

 

爬虫的概念

网络爬虫(又称为网络机器人,网页蜘蛛)。如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的猎物数据。

 

 

一、爬虫的流程

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

394b11830a8e4e3bb1650ecf7b4eeaee.png

 

二、http以及https的概念和区别

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL安全套接字层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

三、请求

请求方法

        常见的请求方法有两种:GET和POST

        GET和POST方法的区别 :

        GET请求中的参数包含在URL里面,数据可以在URL中看到,而POST请求的URL不会包含这些数据,数据通畅都是通过表单形式传输的,会包含在请求体中。

        GET请求提交的数据最多只有1024字节,而POST方法没有限制。

        一般地,做登录操作时,需要提交用户名和密码,其中包含了敏感信息,如果使用GET方法请求,密码会暴露在URL里面,造成密码泄露,所以这里最好以POST方式发送。上传文件时,由于文件包含数据较多,也选用POST方式。

其他的一些请求方法:

        ·HEAD:类似于GET请求,不过返回的响应中没有具体的内容

        `PUT:从客户端向服务器传送的数据取代指定文档中的内容

        `DELETE:请求服务器删除指定的页面

        `CONNECT:把服务器当作跳板,让服务器代替客户端访问其他网页

        `OPTIONS:允许客户端查看服务器的性能

        `TRACE:回显服务器收到的请求,主要用于测试或诊断

请求的网址

        统一资源定位符URL,它可以唯一确定我们想请求的资源

请求头

        请求头用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Refere、User-Agent等等

        ·请求报头域,用于指定客户端可以接收哪种类型的信息

        ·Accept-Language:指定客户端可接受的语言类型

        ·Accept-Encoding:指定客户端可接收的内容编码

        ·Content-Type -- 内容类型,又称互联网媒体类型或者MIME类型,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取文件

        ·Host -- 主机IP和端口号,内容为请求URL的原始服务器或网关的位置

        ·Connection -- 链接类型

        ·User-Agent -- 简称UA,浏览器名称及信息 -- 爬虫程序通常添加包含User-Agen的信息来模拟浏览器的请求

        ·Refere -- 用来标识请求是从哪个页面发过来的,服务器可以拿到这一信息并做响应的处理

        ·Cookie -- 是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密,由用户客户端计算机暂时或永久保存的信息。

        · Authorization -- 表示HTTP协议中需要认证资源的认证信息

        ·Method -- 请求方式

请求体

        请求体中的内容一般是POST请求中的表单数据,在GET请求中,请求体为空

常见的响应状态码

        ·200 -- 成功

        ·302 -- 跳转,新的url在响应的Location中给出

        ·303 -- 浏览器对于POST的响应进行重定向至新的url

        ·307 -- 浏览器对于GET的响应重定向至新的url

        ·403 -- 资源不可用;服务器理解客户的请求,但拒绝处理它,因为没有权限

        ·404 -- 找不到该页面

        ·500 -- 服务器内部发生错误

        ·503 -- 服务器由于维护或者负载过重未能应答,还可能是爬虫频繁访问url,使服务器忽视爬虫的请求

        ·505 -- 服务器不支持请求中所使用的HTTP协议版本

响应头

        ·Data -- 标识响应产生的时间

        ·Last-Modified -- 指定资源的最后修改时间

        ·Content-Encoding -- 指定相应内容的编码

        ·Sever -- 包含服务器的信息,如名称,版本号等 

        ·Content-Type -- 文档类型,指定返回的数据类型是什么

        ·Expires -- 指定响应的过期时间,可以使代理服务器或浏览器将加载的内容更新到缓存中,如果再次访问时,就可以直接从缓存中加载,降低服务器负载,缩短加载时间

        ·Set-cookie -- 对方服务器设置cookie到用户浏览器的缓存

响应体

        响应的正文数据都在响应体中,请求网页时,响应体就是网页的HTML代码,请求图片时,响应体就是图片的二进制数据,做爬虫请求网页后,要解析的内容就是响应体

        浏览器页面中F12快捷键进去开发者工具,点击网络(Network)选项卡,点击响应(Responses)就可以看到网页的源代码,也就是响应体的内容,它是解析的目标。

 

四、浏览器运行过程

        ·浏览器拿到域名对应的ip后,先向地址栏中的url发送请求,并获取响应

        ·在返回的响应内容中,会带有css、js、图片、音频、视频等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应

        ·浏览器每获取一个响应就对展示出的姐u共进行加载,js,scc等内容会修改页面的内容,js也可以重新发送请求u,获取响应

        ·从获取去第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小柒,。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值