首页 > 其他分享 >(三)JS逆向——爬取易车网

(三)JS逆向——爬取易车网

时间:2024-07-03 15:52:27浏览次数:17  
标签:E5% param JS 爬取 json import 易车网 sign md5

爬取易车网的车辆配置信息

 

所以主要就是确定这几个是怎么生成的

 搜索x-sign值的位置,打断点,找到构建x-sign的函数

 注意,一定要看清是否是正确的url,x-timestamp明显是时间戳

进入这个函数

 

 x-sign值,是对这个字符串做md5,这个字符串由三部分构成,参数、时间戳、和一个固定字符串

因此可以用python模拟构建sign值

 需要注意的是python用,json.dumps序列化,会加空格,所以在拼接参数的时候要注意空格的影响,还有确保拼接字符串的单引号和双引号是正确的

 如果想要序列化不加空格,可以用separators参数自定义

import json
json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))

 

 

import json
import requests
from functools import partial
import time
import hashlib
import subprocess
subprocess.Popen = partial(subprocess.Popen, encoding="utf-8")
import execjs


def get_time_stamp():
    return int(time.time()*1000)

def generate_sign(target):
    md5 = hashlib.md5()
    md5.update(target.encode())
    res = md5.hexdigest()
    return res


url = "https://mhapi.yiche.com/hcar/h_car/api/v1/param/get_param_details"

uuid = "000750ef-d6d6-45d8-9ed3-8864fcb3e6ad"

timestamp = get_time_stamp()

param = {"cityId": "1501","serialId": "7219"}

target = f'cid=508&param={json.dumps(param)}19DDD1FBDFF065D3A4DA777D2D7A81EC{timestamp}'

sign = generate_sign(target)

params = {
    "cid": "508",
    "param": json.dumps(param)
}

headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
    "Content-Type":"application/json;charset=UTF-8",
    "Referer":"https://car.yiche.com/hongqihs5/peizhi/",
    "Cookie":"CIGUID=000750ef-d6d6-45d8-9ed3-8864fcb3e6ad; selectcity=320100; selectcityid=1501; selectcityName=%E5%8D%97%E4%BA%AC; auto_id=de6ccf16bb10303bb8ae4fc2243912ac; CIGDCID=sWtRAyHkEkcThDM7ie2xEKtbTS2GhB3m; Hm_lvt_610fee5a506c80c9e1a46aa9a2de2e44=1719905729; UserGuid=000750ef-d6d6-45d8-9ed3-8864fcb3e6ad; isWebP=true; locatecity=320100; bitauto_ipregion=58.213.147.125%3A%E6%B1%9F%E8%8B%8F%E7%9C%81%E5%8D%97%E4%BA%AC%E5%B8%82%3B1501%2C%E5%8D%97%E4%BA%AC%E5%B8%82%2Cnanjing; csids=7219_8156_5586; pageCount=3; Hm_lpvt_610fee5a506c80c9e1a46aa9a2de2e44=1719975723",
    "X-City-Id":"1501",
    "X-Ip-Address":"58.213.147.125",
    "X-Platform":"pc",
    "X-Sign":sign,
    "X-Timestamp":str(timestamp),
    "X-User-Guid":uuid
}



res = requests.get(url=url, params=params, headers=headers)
data = res.text
with open("config.txt", 'w', encoding='utf-8') as f:
    f.write(data)

 

标签:E5%,param,JS,爬取,json,import,易车网,sign,md5
From: https://www.cnblogs.com/sxy-blog/p/18281888

相关文章

  • 【JavaScript】聊聊js中关于this的指向
    前言最近在看回JavaScript的面试题,this指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对this问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。什么是JavaScript在了解this指向的问题前,首先得了解一下什么是JavaScript......
  • 02-JS函数基础
    01函数中的arguments1.1传多的参数也会存在里面<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><t......
  • 读取.net core配置文件appsetting.json内容
    appsetting.json内容//省略部分代码...//代码生成相关"CodeCreatorInfo":{"xmlPath":"11111",//xml路径(绝对路径)"jsRootPaht":"2222",//js文件夹路径"Controllers":"333",//特殊Controller列表,逗号隔开......
  • CH03_JS运算符
    第3章:JavaScript运算符本章目标掌握赋值运算符掌握算术运算符掌握比较运算符掌握逻辑运算符掌握复合运算符课程回顾什么是变量?变量的使用步骤?声明变量用什么关键字?变量名命名规则是什么?JavaScript中的数据类型有那些?讲解内容1.赋值运算符概念:向变量赋值,将右边的值......
  • 【文档+源码+调试讲解】jspm宠物论坛设计网站
    摘 要宠物论坛设计网站采用B/S模式,促进了宠物论坛设计网站的安全、高效、快捷的发展。传统的管理模式还处于手工处理阶段,管理效率极低,随着用户的不断增多,传统基于手工管理模式已经无法满足当前用户需求,随着信息化时代的到来,使得宠物论坛设计网站的开发成了必然。本网站系......
  • 1367java jsp SSM留学生交流互动论坛网站系统经验分享计划分享软件推荐网址推荐标签分
     项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/1......
  • 287java jsp SSM旅游信息网站系统旅游景点管理(源码+文档+PPT+运行视频+讲解视频)
     项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/1......
  • 1187java jsp SSM列车火车高铁票务信息管理系统(源码+文档+PPT+运行视频+讲解视频)
     项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/1......
  • 282java jsp SSM公司活动报名居家办公考勤请假系统员工请假体温上报设备申请员工工资
    项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/10......
  • vscode setting.json 设置
    常见配置参考{"editor.fontSize":20,//编辑器字体大小"terminal.integrated.fontSize":18, //terminal框的字体大小"editor.tabSize":2,//Tab的大小2个空格"editor.formatOnSave":true,//保存是格式化"prettier.singleQuote"......