sxfxtf 发表于 2020-2-16 21:18

[Python] execjs 加载的JS中如果有jquery文件要怎么办?

求各位大神答疑解惑.拜谢.

调用execjs调用JS遇到一个问题,如果JS代码中本身就有jquery的语法.
那么这段js 还怎么用execjs进行调用??
我也知道可以在原先js代码中将Jquery的语法还原成JS。
但是我这里只是想问是否有可以其他方法 比如先用什么库导入jquery 然后再用execjs进行调用
python代码如下
import execjs
with open(r"C:\Users\Young\Desktop\11.js",encoding="utf-8")as f:
   jsdata = f.read()
tt = execjs.compile(jsdata).call("cipher")
print(tt)
#报错 execjs._exceptions.ProgramError: ReferenceError: $ is not defined

js 代码如下
function cipher() {
        var date = new Date();
        var timestamp = date.getTime().toString();
        var salt = $.WebSite.random(24);
        var year = date.getFullYear().toString();
        var month = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date
                        .getMonth()).toString();
        var day = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate())
                        .toString();
        var iv = year + month + day;
        var enc = DES3.encrypt(timestamp, salt, iv).toString();
        var str = salt + iv + enc;
        var ciphertext = strTobinary(str);
        return ciphertext;
}

倾情 发表于 2020-2-16 22:02

你需要把他的用用部分提取出来,不要都运行,我一般有的时候都是把主要的提取出来,或者自己写一份按照它的算法规则,虽然耗时但是还是可以的。目前我对这种情况就是通过删除不必要的部分就好了,提出精华部分

chinavy 发表于 2020-2-16 22:17

这个最近怎么这么火??

sxfxtf 发表于 2020-2-16 23:10

倾情 发表于 2020-2-16 22:02
你需要把他的用用部分提取出来,不要都运行,我一般有的时候都是把主要的提取出来,或者自己写一份按照它的 ...

主要考虑到实战的便利性,如果要反JS,很多都是这么混着用,那都自己构造 好麻烦的说

sxfxtf 发表于 2020-2-16 23:12

chinavy 发表于 2020-2-16 22:17
这个最近怎么这么火??

最近很火吗??可能玩爬虫的越来越多了吧
页: [1]
查看完整版本: [Python] execjs 加载的JS中如果有jquery文件要怎么办?