爬虫前导知识


爬虫简介

1、什么是爬虫? 代替人 模拟浏览器去获取互联网信息的一个程序 2、为什么需要爬虫? ~ 为其他程序提供数据源 ~ 数据分析 ~ AI人工智能 3、企业获取数据的方式 ~ 公司自带的数据 ~ 第三方的数据平台【免费和付费】 ~ 爬虫开发人工爬取数据 4、python做爬虫的优势 多线程(资源竞争问题) scrapy(内置多线程) 5、爬虫分类 ~ 通用网络爬虫 各大搜索引擎:百度 谷歌... ~ 聚焦网络爬虫 到互联网上有选择目的的抓取特定目标和相关主题内容 ~其他:增量式 深度网络爬虫

一、端口 通讯协议

1.端口

每一个应用程序都有一个独立的标识,我们一般称之为端口。
mongodb 27017
mysql 3306

我们要进行数据通讯分几步?
1、找到对方ip
2、数据要发送到指定的应用程序上。为了标识这些应用程序,所以给这些网络应用程序都用数字进行了标识。为了方便称呼这个数字,叫做端口。这里的端口我们一般叫做**“逻辑端口”**
3、定义通讯规则。这个通讯规则我们一般称之为协议

2.通信协议

~国际组织定义了通用的通信协议TCP/IP协议

~所谓协议就是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则

~http又叫做超文本传输协议(是一种通信协议)http他的端口是:80
html 是超文本标记 写出来叫做超文本

二、网络参考模型

网络模型

在这里插入图片描述
http在应用层
https 在http的基础上产生的 HTTP = HTTP + ssl(ssl 也是在应用层)
https(端口号:443)是以安全为目的的HTTP是HTTP的安全版本
在这里插入图片描述

HTTPS是什么呢?

● https=http+ssl,顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的
● https,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL

SSL怎么理解?

● SSL也是一个协议主要用于web的安全传输协议
在这里插入图片描述

三、请求和响应

HTTP请求与响应

HTTP通信由两部分组成:客户端请求信息与服务器响应消息
在这里插入图片描述

  1. 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
  2. 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
  3. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
  4. 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

客户端的Http请求

URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求消息,包括以下格式:
请求行、请求头部、空行、请求数据
四个部分组成,下图给出了请求报文的一般格式。
在这里插入图片描述

四、请求方式&url

GET和POST

● GET : 查询参数都会在URL上显示出来
● POST : 查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址上显示出来

URL组成部分

● URL: 统一资源定位符
● https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
● https: 协议
● new.qq.com: 主机名可以将主机理解为一台名叫 news.qq.com 的机器。这台主机在 qq.com 域名下
● port 端口号: 80 /new.qq.com 在他的后面有个 :80 可以省略
● TWF20200/TWF2020032502924000.html 访问资源的路径
● #anchor: 锚点用前端在做页面定位的
● 注意 : 在浏览器请求一个url,浏览器会对这个url进行一个编码。(除英文字母、数字和部分标识其他的全部使用% 加 十六进制码进行编码)
○ 例如 : https://tieba.baidu.com/f?ie=utf-8&kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&fr=search
○ %E6%B5%B7%E8%B4%BC%E7%8E%8B = 海贼王

五、ua、referer和cookie

User-Agent 用户代理

● 作用:记录用户的浏览器、操作系统等,为了让用户更好的获取HTML页面效果
User-Agent:
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

● Mozilla Firefox:(Gecko内核)

Referer

● 表明当前这个请求是从哪个url过来的。一般情况下可以用来做反爬的技术

状态码

● 200 : 请求成功
● 301 : 永久重定向
● 302 : 临时重定向
● 404 : 请求失败(服务器无法根据客户端的请求找到资源(网页))
● 500 : 服务器内部请求

六、状态码和抓包工具

在这里插入图片描述
● Elements : 元素 网页源代码,提取数据和分析数据(有些数据是经过特殊处理的所以并不是都是准确的)
● Console : 控制台 (打印信息)
● Sources : 信息来源 (整个网站加载的文件)
● NetWork : 网络工作(信息抓包) 能够看到很多的网页请求

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猩猩文学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值