爬虫案例十一js逆向数位观察网

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

提示:这里可以添加本文要记录的大概内容:

爬虫案例十一js逆向数位观察网


提示:以下是本篇文章正文内容,下面案例可供参考

一、网站分析


二、代码

python代码

c 复制代码
"""
网站:https://www.swguancha.com/
"""
import requests
import json
import execjs

url = "https://app.swguancha.com/client/v1/cPublic/consumer/baseInfo"


f = open('sm.js',mode='r',encoding='utf-8')
js_code = f.read()
js = execjs.compile(js_code)
headers = {
	"":"" # 头自行添加
}

data ={
    "size":6,
    "current":3,
    "propertyCode":["DISTRICT_PROP_GJ025_RJDQSCZZ","DISTRICT_PROP_GJ117_NMSYGGQDCYYCLS","DISTRICT_PROP_GJ001_NMHJRK"],
    "dimensionTime":"2019",
    "levelType":2}

data_str = json.dumps(data, separators=(',', ':'))
resp = requests.post(url,data=data_str,headers=headers)
data = js.call("main",resp.text)
print(data)
#{'code': 0, 'msg': None, 'data': {'current': 3, 'size': 6, 'total': 351, 'data': [{'cityName': '郑州市', 'cityCode': '410100', 'cityKpiNum': 138, 'cityImage': 'http://imgs.pub.swguancha.com/image/city_pic_bdbk_410100.jpg',
# 'viewCount': 21132, 'sortNum': 13, 'simpleVOList': [{'districtId': '410100', 'districtName': '郑州市', 'propertyName': '年末实有公共汽(电)车营运车辆数', 'simpleName': '公共汽(电)车量', 'propertyCode': 'DISTRICT_PROP_GJ117_NMSYGGQDCYYCLS', 'propertyValue': '6316', 'valueUnit': '辆',
c 复制代码
var u = require('crypto-js');
var l = "QV1f3nHn2qm7i3xrj3Y9K9imDdGTjTu9";
function main(t_data) {
    var n = u.enc.Utf8.parse(l)
        , r = u.AES.decrypt(t_data, n, {
        mode: u.mode.ECB,
        padding: u.pad.Pkcs7
    });
    i = r.toString(u.enc.Utf8);
    s = JSON.parse(i);
    return s
}

总结

在堆栈中发现promise,可以先尝试搜索interceptors,对于一般简单的网站可能能很快就能解决。

相关推荐
BD_Marathon2 小时前
设计模式——依赖倒转原则
java·开发语言·设计模式
火车叼位2 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
VT.馒头2 小时前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
devmoon3 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
Evand J3 小时前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop
野犬寒鸦3 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
云姜.3 小时前
java抽象类和接口
java·开发语言
鱼毓屿御3 小时前
如何给用户添加权限
前端·javascript·vue.js
xyq20243 小时前
Pandas 安装指南
开发语言
JustHappy3 小时前
「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......
前端·javascript·开源