學習爬蟲第七天 js2py模塊
1. js2py介紹
介紹: js2py是純python實現的庫,⽤於在python中運⾏js代碼,本質上是將js代碼翻譯成python代碼
作用: 用來處理一些js加密的數據,模擬發送js數據
常用的兩個庫: js2py, pyexecjs
2. js2py的安裝
pip install js2py
3. js2py的簡單使用
import js2py
js2py.eval_js('console.log("hello world")')
fun_js = """
function add(a,b){
return a+b
}
"""
add = js2py.eval_js(func_js)
print(add(1,2))
4. js2py代碼翻譯
參考示例:
import js2py
print(js2py.reanslate_js("console.log('hello world')"))
# 將js文件翻譯成Python腳本
js2py.translate_file('test.js', 'test.py') # 第一個參數爲需翻譯的js文件,第二個爲翻譯後的文件
5. js2py代碼中使用python函數
參考示例:
import js2py
# py中:
print("sum:", sum([1, 2, 3]))
# js2中
context = js2py.Evaljs({'python_sum': sum}) # 相當於定義了一個函數
print("context.python_sum:", context.python_sum)
js_code = """
python_sum([1,2,3])
""" # 傳參
print("js_code運行結果:", context.eval(js_code))
6. js代碼中導入Python模塊並使用
示例參考:
import js2py
# 在js代碼中導入Python模塊並使用
# 使用pyimport語法
js_code = """
pyimport requests
console.log('導入成功');
var response = requests.get('http://www.baidu.com');
console.log(response.url);
console.log(response.content);
"""
js2py.eval_js(js_code)
7. 谷歌如何調試js
- 右鍵 檢查工具
- 找到Consle點擊