最近在爬一個js數據加密的網站的時候,出了點問題,困擾了我兩天
直接運行js文件的時候正常,但是用execjs運行js代碼的時候總是會報錯
最後翻了很多博客之後,終於找到了原因:原因是有一個程序在使用TextIOWrapper 類創建對象時默認使用了gbk編碼,讀取不了utf-8的字符,
所以我們可以修改下 subprocess.py 文件的默認編碼方式爲utf-8即可
圖中本來是encoding=None,修改成encoding='utf-8'
運行成功,完美
直接運行js文件的時候正常,但是用execjs運行js代碼的時候總是會報錯
最後翻了很多博客之後,終於找到了原因:原因是有一個程序在使用TextIOWrapper 類創建對象時默認使用了gbk編碼,讀取不了utf-8的字符,
所以我們可以修改下 subprocess.py 文件的默認編碼方式爲utf-8即可
圖中本來是encoding=None,修改成encoding='utf-8'
運行成功,完美