Python執(zhí)行js字符串常見方法示例
方法
執(zhí)行大型js時(shí)有點(diǎn)慢
特殊編碼的輸入或輸出參數(shù)會(huì)出現(xiàn)報(bào)錯(cuò),解決方法:
可以把輸入或輸出的參數(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字符串的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
bootstrap導(dǎo)航、選項(xiàng)卡實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了bootstrap導(dǎo)航、選項(xiàng)卡的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Javascript中設(shè)置默認(rèn)參數(shù)值示例
這篇文章主要介紹了Javascript中默認(rèn)參數(shù)值的設(shè)置,很簡(jiǎn)單,但很實(shí)用,需要的朋友可以參考下2014-09-09JS繪圖Flot如何實(shí)現(xiàn)可選顯示曲線圖功能
這篇文章主要介紹了JS繪圖Flot如何實(shí)現(xiàn)可選顯示曲線圖功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10js實(shí)現(xiàn)股票實(shí)時(shí)刷新數(shù)據(jù)案例
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)股票實(shí)時(shí)刷新數(shù)據(jù)案例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05淺談Emergence.js 檢測(cè)元素可見性的 js 插件
這篇文章主要介紹了淺談Emergence.js 檢測(cè)元素可見性的 js 插件,詳細(xì)的介紹了Emergence.js安裝和使用方法,具有一定的參加性,有興趣的可以了解一下2017-11-11javascript設(shè)計(jì)模式 – 裝飾模式原理與應(yīng)用實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 裝飾模式,結(jié)合實(shí)例形式分析了javascript裝飾模式基本概念、原理、應(yīng)用場(chǎng)景及操作注意事項(xià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