目录
一、反爬技术简介
二、HTTP网络基础知识
三、搭建代理服务
一、反爬技术简介
(一)破解Web端反爬技术
1.常见的反爬策略方向:同一时间的请求数量、请求的身份信息、浏览器和爬虫的区别
2.浏览器和爬虫的不同:异步数据加载、前端的渲染技术、逆向分析JS函数代码、浏览器调度和调试能力
(二)内容分类
数据方面:敏感数据加密、编码数据解密
资源方面:代理IP和Cookie的管理维护
前端语法:浏览器的调试能力和逆向分析能力
架构方面:分布式爬虫架构和大数据存储结构
(三)内容推荐
了解HTTP理论基础
学习并掌握一些常见的加密算法
了解一些网站开发技术和数据传输方式
掌握JS基础语法以及浏览器的调试方法
总结:1.提高突破反爬的能力,必须掌握前端反爬的方法和思路
2.不要一味的想着破解,很多事要考虑时间和效率
3.爬虫是合法合规的技术,不能影响网站的正常运行
二、HTTP网络基础知识
(一)HTTP基础内容
基于TCP/IP协议,简单易用
HTTP/0.9-单行协议(1991)
无连接、无状态、明文传输的协议
SPDY+HTTP2.0
(二)为安全设计的HTTPS
1.更安全的HTTPS(一)
TCP 三次同步握手
客户端验证服务器数字证书
DH算法协商对称加密算法的密钥、hash算法的密钥
2.更安全的HTTPS(二)
SSL安全加密隧道协商完成
网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据的机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改
(三)HTTP的工作原理
(四)为什么HTTP的网站依旧很多
1.HTTP基础内容
HTTPS协议多次握手,导致页面的加载时间延长近50%
申请SSL证书需要钱,功能越强大的证书费用越高
SSL涉及到的安全算法会消耗CPU资源,资源消耗较大
对于数据和身份不敏感的网站,直接使用HTTP即可
2.总结
HTTP协议简单易用,开支少,但是数据不够安全
HTTPS加密是安全的,但是不是无解的,只是破解得花很多时间
(五)HTTP请求过程
(六)HTTP请求包结构
URL目标地址:http://www.imooc.com
请求包的方法类型:GET、POST、PUT
请求头的字段信息:User-Agent、Cookie、Content-Type
请求包的主体信息:字符串、图片、文件
(七)HTTP头字段信息
User-Agent:用户代理信息
Cookie:身份和标识信息
Content-Type:接收的数据类型
Refer:来源
总结:爬虫要隐藏自己,必须注意请求头字段的值
可变数据的字段,需要提防
身份字段的数据,一定要仔细检查
三、搭建代理服务
(一)代理IP的分类
静态IP:长效、短效,一次性售卖
动态IP(次数):动态转发,按次数计费
隧道IP:隧道周期计费,IP自行提取,时效自由
动态IP(流量):按流量计费
(二)服务商的代理IP分类一
静态IP:芝麻代理、站大爷、蘑菇代理、极光代理、IPIDEA
动态转发:讯代理
隧道技术:阿布云
流量计费:LiuGuan
账户包月:动态云
(三)服务商的代理IP分类二
可选择地区:越多越好
身份认证:白名单和账号密码加密
提取方式:时间段内的规定量
IP质量:独享、共享
优惠力度:逢年过节搞活动,充多少送多少
(四)代理IP的质量说明
独享IP:价格高,质量好
共享IP:价格低廉,质量不稳定
VPS服务器:重启网络自动更换IP
(五)爬虫IP性价比概括
极高性价比:短效静态IP
高性价比:包月的IP量
一般性价比:长效IP
低性价比:动态转发
总结:爬虫只需要短效的代理IP
IP质量越高,价格也就越贵
IP分地区,注意多使用不同地区的代理IP
(六)使用squid自建代理服务
squid是一个高性能的代理缓存服务器
squid支持FTP、HTTPS和HTTP等协议
(七)代理的安全问题
加密和身份认证
绑定系统不同的端口
云服务器的安全组配置
总结:部署squid,准备好配置文件和检查端口
使用公网服务器搭建服务,注意安全组的配置
squid一定要加密,不然容易被扫
(八)代理产品需求的场景分类
1.爬虫需求 2.产品运营的数据需求 3.跨地区网络需求
(九)爬虫场景:分布式爬虫
1.时效很短的IP
2.代理IP的需求量大
3,IP归属地要多
(十)软件代理场景:时效适度
1.时效适度的IP,例如12小时、24小时
2.代理IP的需求量在短时间内很少
3.IP归属地聚集
(十一)跨地区网络场景:时效超长
1.时效超长的IP,例如按月,季租赁
2.代理IP的量少,单价非常高
3.IP归属地特定,根据需求找地区
总结:不同的场景,对IP的时效、数量需求都不一样
提取代理IP的时候,记得选择时长、数量、地区
代理服务商会监督并对代理IP的使用请求,做日志记录