京东商品详情数据接口采集技术,支持整站数据高并发采集

news2024/11/29 20:33:41

一、如何通过手动方式查看京东商品详情页面的数据  

1.京东商品详情 API 接口(item_get - 获得京东商品详情接口),京东API 接口代码对接可以获取到宝贝 ID,宝贝标题,价格,优惠价,掌柜名称,库存,宝贝链接,宝贝图片,品牌名称,商品详情,详情图片等页面上有的数据均可以获取到,手动方式如下:  

例如我们打开京东手机端或者 PC 端,搜索关键词 " 新款连衣裙",随便点击一个宝贝,进入这个商品详情,我们就以推荐的这个商品为例,点击进入商品详情页面。

2.点击鼠标右键可以查看源代码拿到的详情页面的数据参数,包括标题,图片,商品价格,商品优惠券,优惠信息,库存数量,商品详情页面数据等参数。  

二、通过封装接口拿到整个站的商品详情数据,代码如下:   

JD.item_get -获得商品详情数据接口   

1.请求方式:HTTP  GET  POST 

2.公共参数

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥 (复制v:Taobaoapi2014)
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本 (查看调用示例 )

3.请求参数

请求参数:num_iid=10335871600
参数说明:num_iid:JD商品ID

4.请求代码示例,支持高并发请求(CURL、PHP 、PHPsdk 、Java 、C# 、Python...)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.PrintWriter;
import java.net.URLConnection;

public class Example {
	private static String readAll(Reader rd) throws IOException {
		StringBuilder sb = new StringBuilder();
		int cp;
		while ((cp = rd.read()) != -1) {
			sb.append((char) cp);
		}
		return  sb.toString();
	}
	public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		conn.setDoOutput(true);
		conn.setDoInput(true);
		PrintWriter out = new PrintWriter(conn.getOutputStream());
		out.print(body);
		out.flush();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static void main(String[] args) throws IOException, JSONException {
		// 请求示例 url 默认请求参数已经URL编码处理
		String url = "https://api-gw.taobaoapi2014.cn/jd/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=10335871600";
		JSONObject json = getRequestFromUrl(url);
		System.out.println(json.toString());
	}

}

5.响应示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

节卡率先冲刺科创板,协作机器人商业化正当时

日前&#xff0c;上交所新增受理节卡机器人股份有限公司科创板上市申请&#xff0c;该公司拟募集资金7.5亿元&#xff0c;国泰君安任保荐人。此前&#xff0c;节卡机器人共完成6轮融资&#xff0c;总融资额超14亿元。按照最后的一轮融资计算&#xff0c;公司引入软银愿景基金二…

如何在云上部署java项目

最近博主接了一波私活&#xff0c;由于上云的概念已经深入人心&#xff0c;客户要求博主也上云&#xff0c;本文将介绍上云的教程。 1.如何选择服务器 这里博主推荐阿里云服务器&#xff0c;阿里云云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;助您降低 IT…

缓存三种方式

缓存能解决的问题 提升性能 绝大多数情况下&#xff0c;select 是出现性能问题最大的地方。一方面&#xff0c;select 会有很多像 join、group、order、like 等这样丰富的语义&#xff0c;而这些语义是非常耗性能的&#xff1b;另一方面&#xff0c;大多 数应用都是读多写少&…

阿里出版的这份Spring Security源码手册,狂揽GitHub榜首

写在前面 自从 Spring Boot、Spring Cloud 火起来之后&#xff0c;Spring Security 也跟着沾了一把光&#xff01; 其实我一直觉得 Spring Security 是一个比 Shiro 优秀很多的权限管理框架&#xff0c;但是重量级、配置繁琐、门槛高这些问题一直困扰着 Spring Security 的开…

【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队

为什么我们需要一个桌面应用 原因实在太多&#xff0c;我们需要便捷地导出记录&#xff0c;需要在回答长度超长的时候自动加上“继续”&#xff0c;需要收藏一些很酷很实用的prompt… &#xff08;首先我假设你是一名如我一样习惯用IDEA开发的java仔&#xff09; 为什么是用R…

孙鑫VC++第四章 1.简单绘图-MFC消息映射机制

1. MFC消息映射机制 接下来将剖析MFC消息映射机制&#xff0c;探讨发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的处理函数进行响应的。另外&#xff0c;还将讲述“类向导”这一工具的运用&#xff0c;讨论设备描述表及其封装类CDC的使用&#x…

Javase06|类和对象

Javase06|类和对象 文章目录 Javase06|类和对象1.面向对象的初步认识2.类的定义3.类的实例化4.this引用5.对象的构造及初始化6.封装7.static成员8.代码块 1.面向对象的初步认识 1.1对象的概念 Java是一门面向对象的语言&#xff0c;面向对象主要依靠对象之间的交互完成一件事…

审稿意见相互矛盾的11种可能情况及修改建议

遇到相互矛盾的审稿意见&#xff0c;作者很难不纠结&#xff0c;毕竟哪个审稿人都不想得罪&#xff0c;到底该怎么办呢&#xff1f; 虽然有些审稿意见乍一看上去相互矛盾&#xff0c;但深思之后&#xff0c;也能发现其中的共性或者根本问题。明确了这一点&#xff0c;就比较清楚…

<六> objectARX开发:创建、插入、删除图块

1、介绍 所有的实体都保存在块表记录中,而块表记录则存储在块表中。实际上,用户在AutoCAD中定义块相当于增加了一个块表记录,块表记录的名称就是块定义的名称。打开任意dwg文件,然后创建两个从图中可以看出,当前图形的块表中包含了五个记录: *Model_Space、 Paper_Space、…

Qt--基于TCP客户端与服务器的聊天程序(半双工通信)

目录 任务&#xff1a;实现一个基于TCP的聊天程序&#xff0c;需要使用的类有&#xff1a; QTcpServer ​编辑 QTcpSocket ​编辑 QTextStream 服务端&#xff1a;server&#xff08;QTcpServer&#xff09; 步骤&#xff1a; 代码&#xff1a; dialog.h dialog.cpp 客户端&am…

论文笔记:基于手机位置信息的地图匹配算法

2015计算机应用 整体思路和论文笔记&#xff1a;Hidden Markov Map MatchingThrough Noise and Sparseness_UQI-LIUWJ的博客-CSDN博客 很像&#xff0c;也是应用HMM进行地图匹配 HMMM本文 状态转移矩阵 观测概率矩阵 正态分布均值都是0&#xff0c;唯一不同的是S…

统计学习方法第五章——决策树

x.1 决策树前言 decision tree决策树是一种分类和回归的方法&#xff0c;本章只考虑在分类领域的使用。决策树使用了归纳法划分特征空间&#xff0c;以此来达到分类的目的。决策树不同于KNN中的kd树&#xff0c;它是多叉树&#xff0c;不是二叉树。决策树是一种概率模型。 决…

毕业2年,月薪25k,有时候人与人的差距比人和狗还大···

想起两年前交流过的一个应届生&#xff0c;当时他刚毕业技术水平不高&#xff0c;进了一个小公司做测试实习工作。最近联系上了&#xff0c;不问不知道&#xff0c;一问吓一跳&#xff0c;他现在已经进了某一线大厂&#xff0c;月薪25K。这位朋友其实也没比别人强多少&#xff…

原神服务端架构搭建工具+环境配置资料

原神服务端架构搭建工具环境配置资料 我是艾西&#xff0c;今天给大家分享一份详细的原神服务端结构资料教程&#xff0c;从服务端的获取到端口的使用以及安卓和ios的DAIL签名等一文让你明白怎么架设原神服务端&#xff0c;哪些工具资料又代表着什么意思&#xff08;保姆级教学…

RFM模型

目录标题 定义指标分析模型分析如何衡量每个客户的RFM指标1. 确定时间范围2. 要定义指标的衡量标准3. 对客户指标进行打分4. 计算平均值5. 用户分类 不同客户不同解决方案 RFM的最大短板RFM的深层问题R&#xff1a;用户离得越久就越有流失风险F&#xff1a;用户频次越高越忠诚M…

SpringBoot 日志文件从入门到实战

文章目录 1. 日志的作用2. 日志怎么用3. 自定义日志打印3.1 程序中得到日志对象3.2 使用日志对象打印日志3.3 日志格式说明 4. 日志级别4.1 日志级别的作用4.2 日志级别的分类与使用4.3 日志级别的设置4.4 综合练习 5. 日志的持久化5.1 配置日志文件的保存路径:5.2 配置日志文件…

MVP发布后,下一步该怎么办

MVP发布后&#xff0c;下一步该怎么办 一、为什么要从发布MVP开始&#xff1f;二、发布MVP后该做什么&#xff1f;1、推广MVP2、收集用户反馈3、进行用户发展访谈4、确定功能的优先次序5、建立一个产品路线图 三、如何衡量一个MVP的成功&#xff1f;1、分析仪表板的重要性2、创…

图解LeetCode——160. 相交链表

一、题目 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。注意&#xff0c;函数返回…

怎么把jfif改成png格式?这四种方法值得一试

怎么把JFIFf改成PNG格式&#xff1f;众所周知&#xff0c;JFIF是一种JPEG图像格式的子集&#xff0c;可以提供高质量的压缩效果。但是&#xff0c;JFIF格式有一些限制&#xff0c;例如它不支持透明度和多图层等功能&#xff0c;而PNG格式则是一种无损压缩的图像文件格式&#x…

从零开始Vue3+Element Plus后台管理系统(九)——使用API协作平台Mock数据

截止目前&#xff0c;本项目用了2个接口&#xff0c;一个登录&#xff0c;一个获取列表数据。接下来想做的页面和功能&#xff0c;为了看起来更真实&#xff0c;就需要增加更多的模拟数据。 Mock语法写得有些随意&#xff0c;看起来还是很假 &#x1f601; Mock数据可以使用M…