成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

盤點(diǎn)3個(gè)可以操作JavaScript的Python庫

開發(fā) 前端
本文主要盤點(diǎn)了3個(gè)可以操作JavaScript的Python庫,分別是PyExecJS、Js2Py和PyV8,只要我們用好了這些模塊以后玩爬蟲就能更加技高一籌,并且準(zhǔn)確率更高了。

[[388298]]

前言

我們都知道Python可以很輕松的實(shí)現(xiàn)某些功能,而且還可以編寫網(wǎng)頁,比如Remi,Pysimplegui,但是操作JavaScript這種瀏覽器的腳本語言,還是第一次聽說,小編也是第一次聽說,于是就跟大家腦補(bǔ)這一知識(shí)。

一、PyExecJS

是一個(gè)可以執(zhí)行JavaScript腳本的Python模塊,可以與網(wǎng)頁上的JavaScript進(jìn)行交互,這樣就能更加精準(zhǔn)的獲取到網(wǎng)頁中的加密內(nèi)容,如果用Python中的網(wǎng)絡(luò)模塊進(jìn)行請(qǐng)求,會(huì)無法解密文檔中的加密內(nèi)容,這個(gè)時(shí)候使用我們的PyExecJS可以很方便到的解密網(wǎng)頁中的加密內(nèi)容,當(dāng)然這得你會(huì)Js逆向才可以。不過要想PyExecJS解析JS語句沒毛病,還得整個(gè)Js語言解析環(huán)境,這里推薦NodeJS,尷尬。我們來看下PyExecJs的用法:

1.常規(guī)操作

  1. import execjs 
  2. aa=execjs.eval("'one|two|three'.split('|')") #執(zhí)行JavaScript代碼,將字符串分割形成數(shù)組 
  3. print(aa)  
  4.  
  5. e=execjs.compile('''     #編譯一個(gè)表達(dá)式 
  6. function add(x,y){ 
  7.   return x+y; 
  8. ''') 
  9. print(e.call('add',10,20))#調(diào)用編譯好的函數(shù)并且賦值 

也可以通過獲取引擎來運(yùn)行我們的語句,如下:

  1. print(execjs.get().eval('1+1')) 

2.查看解釋引擎

  1. print(execjs.get().name

這里JavaScript的解釋引擎是JScript,我們還可以使用自己指定給力的引擎,比如“Nodejs”。

3.指定引擎

  1. import execjs 
  2. import os 
  3. os.environ["EXECJS_RUNTIME"] = "Node" 
  4. print(execjs.get().name

也可以手動(dòng)指定引擎,如下:

  1. js1=execjs.get(execjs.runtime_names.JScript) 
  2. print(js1.eval('1')) 
  3.  
  4. js2=execjs.get(execjs.runtime_names.Node) 
  5. print(js2.eval('2')) 

二、Js2Py

這個(gè)我覺得算是比較好的了,可以說是一個(gè)綜合體,它不需要依賴別的環(huán)境,可以獨(dú)立運(yùn)行Js文件,只不過它的運(yùn)行速度可能會(huì)稍微慢一點(diǎn)而已,但是這都不叫事。下面我們來看看它有哪些神器的功能吧。

1.常規(guī)操作,必須的

2.循環(huán)遍歷

  1. import js2py 
  2. aa=js2py.eval_js( 
  3. ''
  4. var i=0; 
  5. for(var c=1;c<6;c++){ 
  6. console.log(c); 
  7.  
  8. ''
  9. print(aa) 

3.讀取Js文件

我們可以把JS文件寫入文件中,以便我們進(jìn)行調(diào)用,如下:

1.js

  1. function f(aa){ 
  2.     if(aa>11){ 
  3.         console.log('OK'
  4.  
  5.     }else
  6.         console.log('Fail'
  7.   } 

Python文件

  1. import  js2py 
  2. with open('1.js','r'as f: 
  3.     aa=js2py.eval_js(f.read()) 
  4.     print(aa(11)) 

4.爬取網(wǎng)站數(shù)據(jù)

這里我們以淘寶為主,我想整它的JS腳本文件,如下:

  1. import execjs 
  2. import requests 
  3. import re 
  4. url = 'https://ai.taobao.com/?pid=mm_26632323_6762370_25910879' 
  5. res=requests.get(url).text 
  6. js=re.findall(r'<script>(.*?)</script>',res) 
  7. print(js,'\n'
  8. js1=re.sub(r'eval\(','return(',js[0]) 
  9. html="function getLego2WPK(){" + js1 + "};" 
  10. ctx = execjs.compile(html) 
  11. temp = ctx.call('getLego2WPK'
  12. print(temp

三、PyV8

基于Google的V8引擎打造,遺憾的是目前只支持Python2版本,而且已不再維護(hù),建議Python2的小伙伴可以去試試。

四、總結(jié)

本文主要盤點(diǎn)了3個(gè)可以操作JavaScript的Python庫,分別是PyExecJS、Js2Py和PyV8,只要我們用好了這些模塊以后玩爬蟲就能更加技高一籌,并且準(zhǔn)確率更高了。

 

責(zé)任編輯:姜華 來源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2018-09-25 11:19:05

開源JavaScript圖表庫

2021-01-28 23:35:37

Python開發(fā)數(shù)據(jù)

2021-09-22 12:45:47

Python數(shù)據(jù)分析

2021-10-09 07:10:31

JavaScript對(duì)象Python

2022-12-12 16:35:11

2020-03-08 13:24:47

JavaScript開發(fā)

2021-05-27 05:25:59

Python數(shù)據(jù)處理數(shù)學(xué)運(yùn)算

2021-08-30 10:25:48

JavaScript進(jìn)階操作前端

2021-08-26 10:25:04

JavaScript進(jìn)階操作 前端

2020-10-27 07:56:35

Python

2021-02-22 11:12:24

ExcelPython數(shù)據(jù)

2018-06-05 10:45:41

Python模板庫模板引擎

2021-07-26 05:20:47

JavaScript解構(gòu)賦值數(shù)組解構(gòu)

2024-07-17 11:35:31

JavaScript解構(gòu)賦值

2024-09-10 15:34:18

JavaScript解構(gòu)賦值

2024-06-18 10:28:46

2020-10-27 07:37:07

Python

2020-04-03 13:43:23

Python列表推導(dǎo)式字典推導(dǎo)式

2020-05-15 10:22:07

Python開發(fā)工具

2013-02-15 22:21:47

云操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 7777精品伊人久久精品影视 | 超碰在线人 | 精品国产乱码久久久久久牛牛 | 国产精品九九九 | 日韩欧美专区 | 成年视频在线观看 | 日韩三级 | 久久精品亚洲精品 | 成人依人 | 欧美日韩国产在线观看 | 91中文视频 | 一级免费在线视频 | 日本色婷婷 | 国产精品一区二区三区久久久 | 欧美高清成人 | 亚洲视频一区 | 亚洲网站在线观看 | 波多野结衣av中文字幕 | 国产精品色 | 91电影在线 | 亚洲日本乱码在线观看 | 久久久久久久久淑女av国产精品 | 精品真实国产乱文在线 | 国产欧美精品一区二区 | 中文字幕一区二区三区乱码图片 | 日本激情一区二区 | 免费看91| 亚洲精品在线免费观看视频 | zzzwww在线看片免费 | 亚洲精品第一国产综合野 | 日韩精品一区二区三区中文在线 | 国内精品视频免费观看 | 韩日一区二区 | 自拍偷拍精品 | 网站一区二区三区 | 国产小u女发育末成年 | 国产亚洲精品久久久久动 | 国产午夜精品一区二区三区四区 | 亚洲精品久久久久中文字幕欢迎你 | 9999在线视频 | 久久91精品久久久久久9鸭 |