最近在爬一个js数据加密的网站的时候,出了点问题,困扰了我两天

直接运行js文件的时候正常,但是用execjs运行js代码的时候总是会报错

execjs执行js代码报错:Exception in thread Thread-1-LMLPHP

最后翻了很多博客之后,终于找到了原因:原因是有一个程序在使用TextIOWrapper 类创建对象时默认使用了gbk编码,读取不了utf-8的字符,
所以我们可以修改下 subprocess.py 文件的默认编码方式为utf-8即可

execjs执行js代码报错:Exception in thread Thread-1-LMLPHP

图中本来是encoding=None,修改成encoding='utf-8'

运行成功,完美

05-11 10:57