python爬蟲之js逆向(三)
目標網站 http://webapi.cninfo.com.cn/overview.html#/home
首先 ,請求是post請求,沒有data引數,試了一下直接複製請求頭去傳送post請求不對。然後看到mcode這個引數,是是加密的,ctrl+shift+r 全域性搜尋mcode這個引數,找到紅框裡面的呼叫方法繼續研究。肯定是這個方法生成的mecode
這就是生成mcode的函式 直接拿下來複制到js檔案。
生成js檔案
function missjson(input) {
var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
+ keyStr.charAt(enc3) + keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
python呼叫js檔案
import execjs
import js2py
# 執行本地的js
def get_js():
# f = open("D:/WorkSpace/MyWorkSpace/jsdemo/js/des_rsa.js",'r',encoding='UTF-8')
f = open("time_a.js", 'r', encoding='UTF-8')
line = f.readline()
htmlstr = ''
while line:
htmlstr = htmlstr + line
line = f.readline()
return htmlstr
jsstr = get_js()
ctx = execjs.compile(jsstr)
a = math.floor(time.time() / 1000)
time=js2py.eval_js('Math.floor(new Date().getTime()/1000)')
print(ctx.call("missjson",'{a}'.format(a=time)))
大功告成
相關文章
- python爬蟲之JS逆向Python爬蟲JS
- python爬蟲之js逆向(二)Python爬蟲JS
- Python爬蟲之JS逆向分析技巧Python爬蟲JS
- python爬蟲js逆向Python爬蟲JS
- Python爬蟲進階之APP逆向(三)Python爬蟲APP
- Python爬蟲進階之JS逆向入門Python爬蟲JS
- python爬蟲之JS逆向某易雲音樂Python爬蟲JS
- python爬蟲js逆向學習(二)Python爬蟲JS
- Python爬蟲進階之JS逆向土地市場網!Python爬蟲JS
- python爬蟲簡單實現逆向JS解密Python爬蟲JS解密
- Python爬蟲,JS逆向之 webpack 打包站點原理與實戰Python爬蟲JSWeb
- js逆向爬蟲實戰(2)--快手第三方平臺之加密引數JS爬蟲加密
- 網路爬蟲之記一次js逆向解密經歷爬蟲JS解密
- 14-python爬蟲之JSON操作Python爬蟲JSON
- 收藏的爬蟲逆向工程爬蟲
- 爬蟲必看,每日JS逆向之愛奇藝密碼加密,今天你練了嗎?爬蟲JS密碼加密
- Python爬蟲之BeautifulSoupPython爬蟲
- Python爬蟲js處理Python爬蟲JS
- Python分散式爬蟲(三) - 爬蟲基礎知識Python分散式爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 學渣講爬蟲之Python爬蟲從入門到出門(第三講)爬蟲Python
- 逆向爬蟲知識學習爬蟲
- 爬蟲之-某生鮮APP加密引數逆向分析爬蟲APP加密
- 反爬蟲的四種常見方式-JS逆向方法論爬蟲JS
- Python爬蟲之BeautifulSoup庫Python爬蟲
- 【python爬蟲】python爬蟲demoPython爬蟲
- Python爬蟲之路-JS的解析Python爬蟲JS
- Python爬蟲之路-jsonpath模組Python爬蟲JSON
- 爬蟲效能:NodeJs VS Python爬蟲NodeJSPython
- python爬蟲之快速對js內容進行破解Python爬蟲JS
- Python爬蟲:逆向分析網易雲音樂加密引數Python爬蟲加密
- Protobuf協議逆向解析-APP爬蟲協議APP爬蟲
- Python逆向爬蟲入門教程: 千千音樂加密引數 sign 逆向解析Python爬蟲加密
- Python爬蟲——實戰二:爬取天貓產品價格(逆向工程方法)Python爬蟲
- Python爬蟲——實戰一:爬取京東產品價格(逆向工程方法)Python爬蟲
- Python爬蟲之XPath語法Python爬蟲
- Python爬蟲之Pyspider使用Python爬蟲IDE
- python爬蟲之解析連結Python爬蟲