爬虫案例十一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,对于一般简单的网站可能能很快就能解决。

相关推荐
deming_su21 分钟前
第六课:数据库集成:MongoDB与Mongoose技术应用
javascript·数据库·mongodb·node.js·html
几何心凉1 小时前
如何解决Vue组件间传递数据的问题?
前端·javascript·vue.js
七灵微1 小时前
【前端】BOM & DOM
前端·javascript·servlet
yqcoder1 小时前
ES6 解构详解
前端·javascript·es6
青阳流月1 小时前
js读书笔记(补充知识)
前端·javascript
Moment3 小时前
从方案到原理,带你从零到一实现一个 前端白屏 检测的 SDK ☺️☺️☺️
前端·javascript·面试
PfCoder3 小时前
C#的判断语句总结
开发语言·c#·visual studio·winform
好看资源平台3 小时前
Java/Kotlin逆向基础与Smali语法精解
java·开发语言·kotlin
wjcroom3 小时前
数字投屏叫号器-发射端python窗口定制
开发语言·python
静候光阴4 小时前
python使用venv命令创建虚拟环境(ubuntu22)
linux·开发语言·python