爬虫究竟是合法的还是违法的?
1. 在法律中是不被禁止的!
2. 具有违法风险的!
1.干扰了被访问网站的正常运营(恶意爬虫)
2. 抓取了受到法律保护的特定类型的数据或信息
避免进局子?
时常的优化自己的程序,避免干扰被访问网站的正常运行
审查爬取到的内容 若有设计到用户信息(商业机密)停止爬取或传播
使用场景分类:
1. 通用爬虫:搜索引擎抓取系统的重要组成部分 抓取的是一整张的页面数据
2. 聚焦爬虫:是建立在通用爬虫的基础之上!抓取的是页面中特定的局部内容
3. 增量式爬虫: 检测网站中更新的情况 只会抓取网站中最新更新出来的数据
反爬机制:
相关的门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取
反反爬策略:
爬虫程序,通过相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而获取相关的数据
robots.txt 协议:
君子协议 规定网站中哪些数据可以被爬虫爬取
http协议:
服务器和客户端进行数据交互的一种形式
请求头信息:
User-Agent : 请求载体的的身份标识
Connection : 请求完毕后 是否断开连接
值: close :断开
响应头信息:
Content-Type: 服务器响应回客户端的数据类型
https协议:
安全的超文本传输协议:
加密方式:
1.对称秘钥加密 :客户端自己制定秘钥和密文 发送给客户端 (传输过程中可能会被三方机构拦截)
2.非对称秘钥加密: 服务器端制定加密方式(公钥)发送给客户端 ——>客户端发送密文(服务端)
效率低:
中间机构 拦截 公钥 篡改
3.证书秘钥加密 客户端 公钥 -》证书认证机构 数字签名 (防伪)
保证客户端拿到的公钥 一定是 证书认证机构认证的
---------------------------------------------------------------------------------
requests模块:
作用: 模拟浏览器发请求
python 中原生的一款基于网络请求的模块 功能非常强大 简单便捷 效率极高
使用:(requests模块的编码流程)
1. 指定url
1.UA伪装
2.请求参数的处理
2. 发起请求
3. 获取响应数据
4. 持久化存储响应数据
环境的安装:
pip install requests
UA检测:
门户网站的服务器检测对应请求的载体身份标识,如果是某一浏览器 就是正常的请求
不是某浏览器就不是正常的请求(载体),就可能拒绝该次请求
UA伪装:
将请求载体伪装成某一浏览器