Python使用pyexecjs代碼案例解析
針對(duì)現(xiàn)在大部分的網(wǎng)站都是使用js加密,js加載的,并不能直接抓取出來(lái),這時(shí)候就不得不適用一些三方類庫(kù)來(lái)執(zhí)行js語(yǔ)句
execjs,一個(gè)比較好用且容易上手的類庫(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. Ajax對(duì)xml信息的接收和處理操作實(shí)例分析2. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐3. Ajax返回值類型與用法實(shí)例分析4. XML入門精解之結(jié)構(gòu)與語(yǔ)法5. 使用C++11實(shí)現(xiàn)Android系統(tǒng)的Handler機(jī)制6. 解決vue的touchStart事件及click事件沖突問(wèn)題7. 詳解springBoot啟動(dòng)時(shí)找不到或無(wú)法加載主類解決辦法8. 用Python開(kāi)發(fā)app后端有優(yōu)勢(shì)嗎9. opencv-python的RGB與BGR互轉(zhuǎn)方式10. JavaScript之clipboard用法詳解
