一、网站运行时间轴
掌握网站运行时间轴,有助于我们对“请求参数加密”和“响应数据加密”这两种反爬手段的深入理解。
二、从网站运行的时间轴角度来理解两种反爬手段
1、加载HTML:
这是浏览器访问网站时的第一步,服务器会返回基础的HTML结构。在这个阶段,爬虫可以直接获取到HTML内容。
2、加载JS并初始化:
随后,浏览器会加载并执行网页中的JavaScript代码。这些代码可能包含重要的逻辑,比如数据加密、页面动态渲染等。
3、用户触发某个事件:
用户可能会在网页上进行一些操作,如点击按钮、填写表单等。这些操作会触发JavaScript事件。
4、调用某段JS加密参数:
在用户触发事件后,JavaScript可能会执行加密函数,对即将发送到服务器的数据进行加密。这是请求参数加密的关键步骤。加密后的参数对于爬虫来说难以理解,因为它们不再是明文形式。
5、给服务器发信息(XHR-SEND):
加密后的参数会通过XMLHttpRequest(XHR)或其他方式发送到服务器。这一步对于爬虫来说是一个挑战,因为即使能够截获请求,也难以解析加密的参数。