奶兔

导航

Python -- js反爬(五):伪装基本功

 

 

浏览器软件的组成
    显示区域 渲染  DOM
    所有浏览器相同的一些功能: BOM  输入网址 刷新  上一个页面下一个页面
    执行js脚本  javaScript :文本处理 正则
    不同浏览器会实现自己相应的属性   BOM
    
    DOM(渲染引擎) BOM JS引擎  = 浏览器
    
    DOM:
        Html:hxml超集 - xml变种
        1.html 增删改查api
        2.html 数据格式
        3.渲染 Canvas
    
    BOM:
        1.浏览器自己实现的一些类 location navigator 
        2.open ssl:btoa、AES、BES、MD5
    
    JS引擎(解释器):ECMA-协议版本号:es5 es6  js解释性语言(官方没有解释器) 
        谷歌的v8、微软查克拉、ffg guickjs
        JSON 
    

HTTPS:
The connection to this site is encrypted and authenticated using TLS 1.2, ECDHE_RSA with P-384, and AES_256_GCM.


DOM BOM 都是js对象
所以js引擎都有一个功能:可以给js添加任意对象 删除任意对象,关联本地的代码

浏览器去实现的对象 默认添加一个特性:只读属性


伪造环境的用处
    为什么要去伪造环境:因为js引擎没办法运行
    不想去改变他的源代码js

js逆向最终的结果:
        想要的效果:支持多线程、爬取速度快
                  扣取js   :删除环境的一些代码
                  伪造环境 :伪造环境代码

简单的网站:扣取就可以了
复杂的网站:伪造环境


我就是浏览器
1.要伪造什么
    1.全部伪造 python-jsdom(被检测)nodejs(被检测)
    2.给指定的网站 伪造
        如何知道这个网站检测了什么--通过调试、全局异常捕获、本地环境运行看报错    
2.如何伪造

posted on 2021-08-20 15:58  奶兔  阅读(236)  评论(0编辑  收藏  举报