采集過程中,遇到了一個token是經過JS加密生成的,於是乎進行JS斷點追蹤,生成了完整的生成token值的JS函數文件。
這個JS函數需要在Python代碼中調用,通過輸入一個參數,然后會輸出一個token值。
所需模塊:
pip install pyexecjs
注意:這里安裝的模塊叫:pyexecjs, 但是調用的時候的名字是:execjs
具體調用步驟:
# -*- coding: utf-8 -*- import execjs def get_js(): # f = open("./../js/my.js", 'r', encoding='utf-8') # 打開JS文件 f = open("tongchengJS.js", 'r', encoding='utf-8') # 打開JS文件 line = f.readline() htmlstr = '' while line: htmlstr = htmlstr+line line = f.readline() return htmlstr def get_des_psswd(e): js_str = get_js() ctx = execjs.compile(js_str) #加載JS文件 return (ctx.call('antitoken', e)) #調用js方法 第一個參數是JS的方法名,后面的data和key是js方法的參數 if __name__ == '__main__': print(get_des_psswd(e='1570243707293'))