python爬虫实战之旅(第一章:爬虫基础简介)

b站视频参考:
2020年python爬虫全套课程

本文下接第二章:爬虫开发-requests模块的学习

第一章:爬虫基础简介

1.1爬虫简介

1.1.1 什么是爬虫?

  • 通过编写程序,模拟浏览器上网(爬取),然后让其去互联网上抓取数据的过程。

1.1.2 爬虫的价值

  • 爬取的数据进行用于实际应用
  • 就业、商业化

1.2爬虫合法性探究

  • 法律不禁止
  • 具有违法风险
  • 爬虫可能抓取受到了法律保护的特定类型的数据或信息
  • 爬虫干扰了被访问网站的正常运营

1.3爬虫初始深入

1.3.1爬虫的主要应用场景:

  • 通用爬虫:抓取系统重要组成部分
  • 聚焦爬虫:是建立在通用爬虫的基础之上,抓取的页面中特定的局部内容
  • 增量式爬虫:检测网站中数据更新的情况,只会抓取网站中最新更新出来的数据。

1.3.2爬虫的矛盾

  • 反爬机制:相关门户网站通过制定相应的策略或着技术手段,防止爬虫程序进行网站数据的爬取。
  • 反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站的相关信息。

1.3.3robots.txt协议

robots协议(反爬虫协议)

  • 也叫君子协议
  • 协议中规定了网站中哪些数据可以被爬虫爬取哪些数据不可以被爬取
  • 并不强硬
  • 例如我们可以通过https://www.csdn.net/robots.txt访问csdn的反爬虫协议内容: 在这里插入图片描述

1.3.4 http&https协议

http协议:

  • 概念:就是服务器与客户端进行数据交互的一种形式。

常用请求头头信息

  • User-Agent:
    表示请求载体的身份标识
  • Connection:
    请求完毕后,是断开连接还是保持连接
    常用响应头信息
  • Connection-Type:服务器响应回客户端的数据类型

https协议:

  • 安全的超文本传输协议(具有数据加密)

  • 加密方式
    (1)对称密钥加密
    客户端在向服务器发送数据之前,先根据自己制定加密方式将数据进行加密,然后将解密方式(密钥)与数据一起打包发送给服务器,服务器接收后用密钥解密从而得到客户端传来的数据。
    但是这种加密方式并不安全,因为解密方式是随同数据一起打包,如果第三方在传输过程中进行拦截也可以得到解密方式获取数据。
    在这里插入图片描述

    (2)非对称密钥加密:
    服务器设定加密方式(公钥),发送给客户端,客户端使用该加密方式设置好数据发送给服务器端,服务器端再使用自己配套的密钥(私钥)进行解密。
    但是这种方式中如果公钥传递过程中被拦截篡改的话,对客户端的加密非常不安全。同时这种通信过程的效率并不高。
    在这里插入图片描述

    (3)证书密钥加密
    服务器开发者携带公开密钥向数字证书认证机构提交申请,机构会发送一个数字签名来认证服务器提供的公钥的真伪,以保证服务器向客户端传送的公开密钥是真实的。
    一般情况下,证书的数字签名很难被伪造,这取决于认证机构的公信力,一旦确认信息无误之后,客户端就会通过公钥对将要传输的信息进行加密传送,服务器接收后再用自己的私钥进行解密。

在这里插入图片描述
本文下接第二章:爬虫开发-requests模块的学习

猜你喜欢

转载自blog.csdn.net/KQwangxi/article/details/113922986