爬虫案例十四js逆向中国五矿
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、网站分析
- 二、代码
前言
提示:这里可以添加本文要记录的大概内容:
js逆向中国五矿
提示:以下是本篇文章正文内容,下面案例可供参考
一、网站分析
二、代码
js代码
var JSEncrypt = require('node-encrypt-js')
var crypto = require("crypto") // nodejs自带
function md5(s){
return crypto.createHash("md5").update(s).digest("hex");
}
function fn(e,r) {
var t = new JSEncrypt();
t.setPublicKey(r);
e.sign = md5(JSON.stringify(e))
e.timeStamp = new Date().getTime()
var s = t.encryptLong(JSON.stringify(e))
return s
}
// console.log(md5("123456"))
import requests
import json
import execjs
session = requests.session()
session.headers = {
"":""# 请求头自行添加
}
url = "https://ec.minmetals.com.cn/open/homepage/public"
resp = session.post(url)
# print(resp.text)
p_url = "https://ec.minmetals.com.cn/open/homepage/zbs/by-lx-page"
data = {
"businessClassfication": "",
"dwmc": "",
"inviteMethod": "",
"lx": "ZGYS",
"mc": "",
"pageIndex": "1"
}
f = open('wk.js',mode='r',encoding='utf-8')
js_code = f.read()
f.close()
js = execjs.compile(js_code)
param = js.call("fn",data ,resp.text)
data = {
"param":param
}
p_resp = session.post(p_url,json.dumps(data,separators=(',', ':')),headers={
"Content-Type":"application/json",
})
print(p_resp.text)