Python使用pyexecjs代碼案例解析
針對(duì)現(xiàn)在大部分的網(wǎng)站都是使用js加密,js加載的,并不能直接抓取出來(lái),這時(shí)候就不得不適用一些三方類(lèi)庫(kù)來(lái)執(zhí)行js語(yǔ)句
execjs,一個(gè)比較好用且容易上手的類(lèi)庫(kù)(支持py2,與py3),支持 JS runtime。
官網(wǎng):https://pypi.org/project/PyExecJS/
# pip install pyexecjs# 一node.js為引擎# 檢測(cè)運(yùn)行環(huán)境import execjsprint(execjs.get().name)
最簡(jiǎn)單的代碼案例 使用eval執(zhí)行js代碼
import execjse = execjs.eval(’a=new Array(1,2,3)’)print(e)
如何處理內(nèi)容比較多的js呢
str1 = ''' function test(data){ return data; }'''# 先吧字符串編譯成js代碼cx_js = execjs.compile(str1)# 調(diào)用call方法去執(zhí)行js代碼a = cx_js.call('test', '122') # 第一個(gè)為函數(shù)名,后面的為參數(shù),多的就用逗號(hào)隔開(kāi)print(a)'''如果是比較大的js內(nèi)容呢 我們可以先保存到文件中,然后讀取編譯,在執(zhí)行'''
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼2. 如何在PHP中讀寫(xiě)文件3. java加載屬性配置properties文件的方法4. PHP正則表達(dá)式函數(shù)preg_replace用法實(shí)例分析5. 什么是Python變量作用域6. 《Java程序員修煉之道》作者Ben Evans:保守的設(shè)計(jì)思想是Java的最大優(yōu)勢(shì)7. CSS3中Transition屬性詳解以及示例分享8. php redis setnx分布式鎖簡(jiǎn)單原理解析9. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼10. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式
