Python使用pyexecjs代碼案例解析
針對現(xiàn)在大部分的網(wǎng)站都是使用js加密,js加載的,并不能直接抓取出來,這時候就不得不適用一些三方類庫來執(zhí)行js語句
execjs,一個比較好用且容易上手的類庫(支持py2,與py3),支持 JS runtime。
官網(wǎng):https://pypi.org/project/PyExecJS/
# pip install pyexecjs# 一node.js為引擎# 檢測運(yùn)行環(huán)境import execjsprint(execjs.get().name)
最簡單的代碼案例 使用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') # 第一個為函數(shù)名,后面的為參數(shù),多的就用逗號隔開print(a)'''如果是比較大的js內(nèi)容呢 我們可以先保存到文件中,然后讀取編譯,在執(zhí)行'''
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. css進(jìn)階學(xué)習(xí) 選擇符2. python實現(xiàn)自動化辦公郵件合并功能3. Python 如何將integer轉(zhuǎn)化為羅馬數(shù)(3999以內(nèi))4. python爬蟲beautifulsoup解析html方法5. python web框架的總結(jié)6. 以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式7. 解決python logging遇到的坑 日志重復(fù)打印問題8. html小技巧之td,div標(biāo)簽里內(nèi)容不換行9. Python基礎(chǔ)之numpy庫的使用10. 詳解Python模塊化編程與裝飾器
