zoukankan      html  css  js  c++  java
  • Python爬虫连载8-JS加密(一)

    一、JS加密

    1.有的反爬虫策略采用js对需要传输的数据进行加密处理。

    2.经过加密,传输的就是密文

    3.加密函数或者过程一定是在浏览器完成,也就是一定会把代码(js代码)暴露给使用者

    4.通多阅读加密算法,就可以模拟出加密过程,从而达到破解。

    5.举一个案例

    """
    
    破解有道词典
    
    """
    
    from urllib import request,parse
    
    ​
    
    def youdao(key):
    
        url = "http://www.fanyi,com/translate_o?smartresult=dict&smartresult=rule"
    
        data = {
    
            "i":"girl",
    
            "from":"AUTO",
    
            "to":"AUTO",
    
            "smartresult":"dict",
    
            "client":"fanyideskweb",
    
            "salt":"1523100789519",
    
            "sign":"b8a55a436686cd89873fa46514ccedbe",
    
            "doctype":"json",
    
            "version":"2.1",
    
            "keyfrom":"fanyi.web",
    
            "action":"FY_BY_REALTIME",
    
            "typeResult":"False"
    
        }
    
    ​
    
        data = parse.urlencode(data).encode()
    
        headers = {
    
            "Connection": "keep - alive",
    
            "Content - Encoding":"gzip",
    
            "Content - Language": "zh - CN",
    
            "Content - Type": "text / html",
    
            "charset":"utf - 8",
    
            "Date": "Mon, 17 Feb 2020 15: 23:36 GMT",
    
            "Server":"nginx",
    
            "Transfer - Encoding": "chunked",
    
            "Vary": "Accept - Encoding"
    
        }
    
        req = request.Request(url=url,data=data,headers=headers)
    
    ​
    
        rsp = request.urlopen(req)
    
    ​
    
        html = rsp.read().decode()
    
        print(html)
    
    ​
    
    if __name__ == "__main__":
    
        # for i in range(10000):
    
        #     print(sum)
    
    youdao(45)

    二、源码

    Reptitle8_1_JSEncryption.py

    https://github.com/ruigege66/PythonReptile/blob/master/Reptitle8_1_JSEncryption.py

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    链表
    Wonder团队承接各种Web3D业务
    真我的信息
    一个人独自做长期项目,如何提高工作效率?
    【Java】类的结构
    【长知识】找书攻略
    【长知识】语义化版本控制
    【Java】Debug调试常用技巧
    【Web】Servlet三大作用域、JSP四大作用域
    【Web】Servlet基本概念
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12324518.html
Copyright © 2011-2022 走看看