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

相关推荐
Two_brushes.7 分钟前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
小白学大数据10 分钟前
R语言爬虫实战:如何爬取分页链接并批量保存
开发语言·爬虫·信息可视化·r语言
争不过朝夕,又念着往昔13 分钟前
Go语言反射机制详解
开发语言·后端·golang
Azxcc024 分钟前
C++异步编程入门
开发语言·c++
Biaobiaone29 分钟前
Java中的生产消费模型解析
java·开发语言
我命由我1234544 分钟前
前端开发问题:SyntaxError: “undefined“ is not valid JSON
开发语言·前端·javascript·vue.js·json·ecmascript·js
Jokerator1 小时前
深入解析JavaScript获取元素宽度的多种方式
javascript·css
海天胜景1 小时前
vue3 当前页面方法暴露
前端·javascript·vue.js
特立独行的猫a1 小时前
11款常用C++在线编译与运行平台推荐与对比
java·开发语言·c++
GISer_Jing1 小时前
前端面试常考题目详解
前端·javascript