01-认识爬虫

一、什么是爬虫

  • 网络爬虫(又称为网页蜘蛛,网络机器人,或者网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本
  • 大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到资源,那么它就会抓取下来。

二、爬虫抓取过程

  • 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 百度图片-发现多彩世界 ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过 DNS 服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。
  • 因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。

三、URL 相关知识

  • 爬虫爬取数据时必须要有一个目标的 URL 才可以获取数据,它是爬虫获取数据的基本依据。
  • 完整的 URL 包括以下几部分:
    • scheme 协议部分:该 URL 的协议部分为https:,这代表网页使用的是 HTTPS 协议。
    • host 域名部分:该 URL 的域名部分为www.php.cn 也可以使用 IP 地址
    • port 端口部分:跟在域名后面的是端口。默认为 80 端口,端口可以更改,如果是默认端口,不在URL上显示
    • path 路径:服务器上资源的路径,course/1086.html
    • parameters 参数:用于指定特殊参数的可选项

1、什么是 HTTP

  • 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信
  • HTTP 的工作方式是客户机与服务器之间的请求-应答协议

2、什么是 HTTPS

  • HTTPS 是身披 SSL 外壳的 HTTP
  • HTTPS 是一种通过计算机网络进行安全通信的传输协议,经由 HTTP 进行通信,利用 SSL/TLS 建立全信道,加密数据包
  • HTTPS 使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性

备:TLS 是传输层加密协议,前身是 SSL 协议,由网景公司 1995 年发布,有时候两者不区分

3、请求方式

编号类型说明
1GET请求指定的页面信息,并返回实体主体。
2POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
3HEAD类似于 get 请求,只不过返回的响应中没有具体的内容,用于获取报头。
4PUT从客户端向服务器传送的数据取代指定的文档的内容。
5DELETE请求服务器删除指定的页面。
6TRACE回显服务器收到的请求,主要用于测试或诊断。
7CONNECTHTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
8OPTIONS允许客户端查看服务器的性能。

4、GET 请求

  • GET 请求可被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可被收藏为书签
  • GET 请求不应在处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

5、POST 请求

  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求

6、状态码

编号状态码说明
1100继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。
2101转换协议 在发送完这个响应最后的空行后,服务器将会切换到在 Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。
3102继续处理 由 WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
4200请求成功 处理方式:获得响应的内容,进行处理
5201请求完成,结果是创建了新资源。新创建资源的 URI 可在响应的实体中得到 处理方式:爬虫中不会遇到
6202请求被接受,但处理尚未完成 处理方式:阻塞等待
7204服务器端已经实现了请求,但是没有返回新的信 息。如果客户是用户代理,则无须为此更新自身的文档视图。 处理方式:丢弃
8300该状态码不被 HTTP/1.0 的应用程序直接使用, 只是作为 3XX 类型回应的默认解释。存在多个可用的被请求资源。 处理方式:若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃
9301请求到的资源都会分配一个永久的 URL,这样就可以在将来通过该 URL 来访问此资源 处理方式:重定向到分配的 URL
10302请求到的资源在一个不同的 URL 处临时保存 处理方式:重定向到临时的 URL
11304请求的资源未更新 处理方式:丢弃
12400非法请求 处理方式:丢弃
13401未授权 处理方式:丢弃
14403禁止 处理方式:丢弃
15404没有找到 处理方式:丢弃
16500服务器内部错误 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
17501服务器无法识别 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
18502错误网关 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
19503服务出错 由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

七色的天空

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

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

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

打赏作者

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

抵扣说明:

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

余额充值