python采集电商jd app商品详情数据(2023-10-30)

news/2025/2/13 20:45:56/

一、技术要点:
  1、cookie可以从手机app端用charles抓包获取;
  2、无需安装nodejs,纯python源码;
  3、商品详情接口为:functionId ="wareBusiness";
  4、clientVersion = "10.1.4"同时也支持更高的版本;
  5、sign签名算法已转成python源码;

# -*- coding: UTF-8 -*-
import requests,json
import pkgutil
import time
from urllib.parse import urlparse, parse_qs, urlunparse
import hashlib
import execjs
from urllib.parse import quote
import io
import sys
from coreMethod import servicedef savetofile(text,filename):file = open(filename, "w",encoding='utf-8' )file.write(text)file.close()def print_hi(name):# Use a breakpoint in the code line below to debug your script.print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.def jdsku(skuId,source_value):body={"abTest800":True,"avoidLive":False,"brand":"Xiaomi","cityId":2258,"cpsNoTuan":None,"darkModelEnum":3,"districtId":2259,"eventId":"Searchlist_Productid","fromType":0,"isDesCbc":False,"latitude":"24.343321","lego":True,"longitude":"102.548038","model":"MI+4LTE","ocrFlag":False,"pluginVersion":101040,"plusClickCount":0,"plusLandedFatigue":0,"provinceId":"25","skuId":skuId,"source_type":"search","source_value":source_value,"townId":57314,"uAddrId":"0","utmMedium":None}data_json = json.dumps(body, ensure_ascii=False, separators=(",", ":"))data="body="+quote(data_json)+"&"data_len=len(data)print(data_len)functionId ="wareBusiness"uuid="d5aada6c69ce7237"     # uuid = "ZNVrYWHrDwC2EWDvDzSzDm=="clientVersion = "10.1.4"api_url="https://api.m.jd.com/client.action?functionId=wareBusiness&clientVersion=10.1.4&build=90060&client=android&d_brand=Xiaomi&d_model=MI4LTE&osVersion=6.0.1&screen=1920*1080&partner=ks006&oaid=&eid=eidA0c138122bas4uo1qCosmRnqrZBkTZ+zEF7qNa5UCxrzSE5IyVBHJw4jzuBKyNz0TPXE0oY0j0H/viRPJy5RUE1KWCJuMWV52ufEtPyZiLpXsetVD&sdkVersion=23&lang=zh_CN&eu=8363533373230323933313336333&fv=93D2634303938303363663032626&uuid=d5aada6c69ce7237&aid=d5aada6c69ce7237&area=25_2258_2259_57314&networkType=wifi&wifiBssid=d9077de60f51d1d1d6f228a96f318e0c&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJ57QGqe4EVdPCC%2F%2BLaIc%2B0FPy%2BbUQbRC5NoDqqw5SzXn%2B5IzKEzRV7U4tEboVX3RmAjshdIn%2BrmSbjWta516veiyWgiDkt89AHGr9Rp0fcz01k8UAHnDKv9FJVcx9o%2BHKLIDKAa6QQUSBNqX7wvJlkldVcZElJ1qX8Gf%2F4RKU8CYMjipFaink5w%3D%3D&uemps=0-0&harmonyOs=0&scval=10053586372378";sign=service.get_st_sign_sv(data_json, functionId, uuid, clientVersion)# print('技术支持:复制:byc6352')api_url=api_url+'&'+signreal_url = api_url.replace("https://api.m.jd.com", "")print(real_url)# print(data_json)# data_url=quote(data_json)# print(data_url)headers={"method":"POST","path": real_url,"scheme": "https","charset": "UTF-8","jdc-backup": 'pin=jd_eiFeOmfKYTrp;wskey=AAJk-9PXAEDx4VigFTYENYvbbF_ih0fwKNPxtlGjLBxeKZDIHTo0dlOGi9kthRmaIPxAQc8LOjXjivrJlZRmTDk92_7gn7xD;whwswswws=AAo0qnXeKECW5dHtHD2SyG-aA65Td2U3WT7WUwAAAAAA;unionwsws={"devicefinger":"eidA0c138122bas4uo1qCosmRnqrZBkTZ+zEF7qNa5UCxrzSE5IyVBHJw4jzuBKyNz0TPXE0oY0j0H\/viRPJy5RUE1KWCJuMWV52ufEtPyZiLpXsetVD","jmafinger":"AAo0qnXeKECW5dHtHD2SyG-aA65Td2U3WT7WUwAAAAAA"};',"Authority": "api.m.jd.com","Accept": "*/*",# "Accept-Encoding": "br,gzip,deflate","Accept-Language": "zh-CN,zh;q=0.9","Cookie": 'pin=jd_LStcEbIzGjuR;wskey=AAJkcwjDAECOW8kziBHNbB1cl-BdbgXIW1TU1mHHu7XkyHRHGTt36GiksxgJbLVNZ4Ni-XKKKXahMVmrVoH6IagBm2_RD_-n;whwswswws=JD012145b9Ooh6gW1WYH168526050472603eFWOcdKH3-r3FyvX7W1dFwIKf7xAscQeSZ4_zhAV07wcda_pYWPbGQW_fnTydijhfpLKLUlVzIXVOor8dB-N7vkfs3rWJTxi0p1xghd~lnPHS6M-VPm1DZUIGaKbW62XTKAcWHCstLD9GZCUslR9H9xVy8TeBaMkOHcMNNOZ-86d4vztzqMQD2jeEoOoHmHbOUCNqSQL3MKF19Ct66wbQf3UlOZ7A9SdiTCPFifNr5Fwf7rWgoO2rnN4XQXFJ-YkcJvtdXPQ11I6r3V44VJc;unionwsws={"devicefinger":"eidAe50181223cs8uIOuW0dWRka9iu\/jXMDOK7iDr+Oor0tc4JwaCNymIsN1KVlEBsjUDXYycNGHW5iEV8gds4\/u1TN0isUUwp8eUG+Fk\/pxSMrh\/flR","jmafinger":"JD012145b9Ooh6gW1WYH168526050472603eFWOcdKH3-r3FyvX7W1dFwIKf7xAscQeSZ4_zhAV07wcda_pYWPbGQW_fnTydijhfpLKLUlVzIXVOor8dB-N7vkfs3rWJTxi0p1xghd~lnPHS6M-VPm1DZUIGaKbW62XTKAcWHCstLD9GZCUslR9H9xVy8TeBaMkOHcMNNOZ-86d4vztzqMQD2jeEoOoHmHbOUCNqSQL3MKF19Ct66wbQf3UlOZ7A9SdiTCPFifNr5Fwf7rWgoO2rnN4XQXFJ-YkcJvtdXPQ11I6r3V44VJc"};',"cache-control": "no-cache","content-type": "application/x-www-form-urlencoded; charset=UTF-8","content-length": str(data_len),"user-agent": "okhttp/3.12.1;jdmall;android;version/10.1.4;build/90060;screen/1080x1920;os/6.0.1;network/wifi;",}# body.encode(encoding='utf-8')res=requests.post(url=api_url, headers=headers,data=data)print(res)text=res.textsavetofile(text,"data.txt")print(text)return text# Press the green button in the gutter to run the script.
if __name__ == '__main__':print_hi('jd app商品详情。技术支持:v~+:byc6352;QQ:39848872')skuId = "10053586372378"    # skuId 为商品IDsource_value="小学生书包"      # source_value为搜索接口的关键词jdsku(skuId,source_value)


http://www.ppmy.cn/news/1186895.html

相关文章

微信小程序 人工智能志愿者服务活动报名系统uniAPP+vue

基于java语言设计并实现了人工智能志愿者服务APP。该APP基于B/S即所谓浏览器/服务器模式,应用SpringBoot框架与HBuilder X技术,选择MySQL作为后台数据库。系统主要包括用户、志愿活动、活动报名、活动签到、服务职责、服务排行等功能模块。 本文首先介绍…

canvas绘制签名并保存

实现签名的三个关键方法&#xff1a; 1.mousedown&#xff1a;当鼠标按下时开始绘制签名。 2.mousemove&#xff1a;鼠标移动时持续绘制。 3.mouseup&#xff1a;鼠标抬起时结束绘制。 html&#xff1a; <div class"setSign"><canvasref"canvas&q…

qt 系列(一)---qt designer设计常用操作

最近转战qt, 主要用qt designer 进行GUI开发&#xff0c;记录下实战经验~ 1.前言 qt 是跨平台C图形用户界面应用程序开发框架&#xff0c;可以使用的IDE工具有 qt creator 和 vs, 这里我主要使用 Visual Studio 2017 工具进行程序开发与编写。 2. 环境配置 只写关键步骤~~ …

【机器学习】一、机器学习概述与模型的评估、选择

机器学习简介 由来 阿瑟.萨缪尔Arthur Samuel,1952年研制了一个具有自学习能力的西洋跳棋程序&#xff0c;1956年应约翰.麦卡锡John McCarthy&#xff08;人工智能之父&#xff09;之邀&#xff0c;在标志着人工智能学科诞生的达特茅斯会议上介绍这项工作。他发明了“机器学习…

k8s 集群的组成和原理

集群 集群是一组节点&#xff0c;这些节点可以是物理服务器也可以是虚拟机&#xff0c;在它们中安装了k8s的环境。 集群的组成 k8s 集群由 worker 节点和 node 节点组成&#xff0c;其中worker节点由Controller Manager(控制管理器)、etcd(键值数据库)、scheduler(调度器)、…

Linux服务器等保测评命令

最近公司等保&#xff0c;就罗列了一些测评命令&#xff0c;记录下 LANG"en_US.UTF-8" #临时设置utf8编码 ip addr #查看IP地址 ifconfig #查看IP地址 dmidecode -s system-product-name #查看服务器是虚拟机还是物理机 cat /proc/version #查看版本信息 cat /etc/…

RPA机器人与传统自动化解决方案的差异性

当前&#xff0c;数字化转型是大势所趋&#xff0c;不少企业在应用传统自动化改造时&#xff0c;由于受到资金、技术、冗杂的流程或者系统集成的限制&#xff0c;投入产出比不甚理想。随着新技术和自动化的升级发展&#xff0c;RPA数字员工为企业数字化转型提供了一套更加简单高…

C++设计模式_20_Composite 组合模式

Composite 组合模式和后面谈到的Iterator&#xff0c;Chain of Resposibility都属于“数据结构”模式。Composite 组合模式核心是通过多态的递归调用解耦内部和外部的依赖关系。 文章目录 1. “数据结构”模式1.1 典型模式 2. 动机( Motivation )3. 模式定义4. Composite 组合模…