Python執(zhí)行js字符串常見方法示例
方法
執(zhí)行大型js時有點慢
特殊編碼的輸入或輸出參數(shù)會出現(xiàn)報錯,解決方法:
可以把輸入或輸出的參數(shù)用base64編碼一下。base64都是英文和數(shù)字,沒有特殊字符了
1--js2py
pip insatll js2py # 獲取執(zhí)行JS的環(huán)境 context = js2py.EvalJs() # 加載執(zhí)行 context.execute('放JS字符代碼')
2--execjs
import execjs print(execjs.get().name) # Node.js (V8)
import execjs user_id = '3232597584' url = f'https://www.toutiao.com/toutiao/api/pc/feed/?min_behot_time=1588149898&category=__all__&utm_source=toutiao&widen=1&tadrequire=true&user_id={user_id}&visited_uid={user_id}' js_index = """ js """ # 打開js文件讀取 # new_url = execjs.compile(open("/Users/ts/Desktop/Jeff/今日頭條/new_sign.js").read()).call('get_sigtrue', url) # 讀取js字符串 new_url = execjs.compile(js_index).call('get_sigtrue', url) print(new_url)
3--execjs
import execjs def get_js(): f = open("./new_sign.js", 'r', encoding = 'UTF-8') line = f.readline() htmlstr = '' while line: htmlstr = htmlstr + line line = f.readline() return htmlstr jsstr = get_js() ctx = execjs.compile(jsstr) user_id = '3232597584' url = f'https://www.toutiao.com/toutiao/api/pc/feed/?min_behot_time=1588149898&category=__all__&utm_source=toutiao&widen=1&tadrequire=true&user_id={user_id}&visited_uid={user_id}' print(ctx.call('getUrl', url))
以上就是Python執(zhí)行js字符串常見方法示例的詳細(xì)內(nèi)容,更多關(guān)于Python執(zhí)行js字符串的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
bootstrap導(dǎo)航、選項卡實現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了bootstrap導(dǎo)航、選項卡的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12Javascript中設(shè)置默認(rèn)參數(shù)值示例
這篇文章主要介紹了Javascript中默認(rèn)參數(shù)值的設(shè)置,很簡單,但很實用,需要的朋友可以參考下2014-09-09javascript設(shè)計模式 – 裝飾模式原理與應(yīng)用實例分析
這篇文章主要介紹了javascript設(shè)計模式 – 裝飾模式,結(jié)合實例形式分析了javascript裝飾模式基本概念、原理、應(yīng)用場景及操作注意事項,需要的朋友可以參考下2020-04-04整理Javascript基礎(chǔ)入門學(xué)習(xí)筆記
整理Javascript基礎(chǔ)入門學(xué)習(xí)筆記,之前一系列的文章是跟我學(xué)習(xí)Javascript,本文就是進(jìn)一步學(xué)習(xí)javascript,希望大家繼續(xù)關(guān)注2015-11-11