Python爬虫知识碎片

什么是爬虫:通过编写程序,模拟浏览器上网,然后让其去互联网抓取数据的过程
爬虫的分类:
通用爬虫
抓取系统的重要部分(搜素引擎),一整张页面数据
聚焦爬虫
在通用爬虫的基础上,抓取页面上的特定数据
增量式爬虫
监测网站中数据更新的情况,只会抓取更新的内容
爬虫中的矛与盾:
反爬机制
门户网站,可以通过定制相关的策略和技术手段,防止数据被爬取
反反爬策略
爬虫程序通过定制相关的策略和技术手段,破解门户网站中的反爬机制,从而爬取数据
反爬机制--》robots.txt协议
君子协议,规定网站中,哪些数据可以被爬取,哪些不允许(君子规定,网站申明哪些数据不允许)
#查看URL下面的robots文件

HTTP协议:
概念:服务器和客户端进行数据交互的一种形式(URL绑定服务器,请求数据时,满足特定要求)
常用的表头请求信息
User-Agent:表示请求载体的身份标识(浏览器访问时候,网站会收到浏览器和服务器的相关信息)
Connection:请求完毕后,是断开连接还是保持连接
常用的相应头信息:
- Content-Type:网站返回客户端的数据类型,json,text,等
HTTPS协议:
安全的超文本的传输协议,数据进行了加密了
加密方式:
1、对称公钥加密:传递密文和秘钥(客户端设置),服务器得到数据和秘钥,服务器按照特定的规则(秘钥)进行数据解密
缺点:可能会被第三方拦截请求,得到密文和秘钥,进行数据解密
2、对称性加密:服务端设置好加密方式,配置公钥和私钥,把公钥传递给客户端,客户端通过公钥加密,传输数据,服务端
得到数据,私钥进行解密
缺点:第三方拦截公钥,对公钥进行篡改,然后拦截密文,解密。第二点,通信速度较慢
3、证书加密:配置ssl证书(会有一个签名,服务端和客户端都充分信任,其他第三方无法获知这个签名)
如果第三方对公钥进行了篡改,那么服务端就无法识别,会终止数据传输
requests模块
基于网络请求的模块:
urllib
requests 高效简洁
作用:模拟浏览器发送请求
使用:
1、指定URL
2、发起请求
3、获取响应数据
4、持久化存储
posted @ 2021-09-15 09:27  三月减肥的猫  阅读(50)  评论(0)    收藏  举报