# Jd Data Analysis API **Repository Path**: zoudmbean/jd-data-analysis-api ## Basic Information - **Project Name**: Jd Data Analysis API - **Description**: 京东大数据分析后台接口 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-26 - **Last Updated**: 2024-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Jd-Data-analysis接口文档 #### 介绍 项目使用标准MVC模式进行开发,可以输入搜索内容进行数据获取,然后爬取到数据后存储到mysql数据库,最后进行数据分析生成看板数据渲染页面。 1. API使用springBoot+Jpa+Habernate框架编写 2. 爬虫使用selenium+java自动化测试工具编写 3. 看板页面使用vue+echarts编写 CSR模式 4. 数据库使用Mysql数据库 5. 前端打包工具使用webpack(Vue-ccli) 6. 需要使用浏览器驱动程序以及对应的驱动版本,放置到根目录即可 - 接口基准地址:http://localhost:8888/ - 服务端已开启 CORS 跨域支持 - 使用 HTTP Status Code 标识状态 - 数据返回格式统一使用 JSON数据类型 - 页面视图数据使用webSocket长连接方式 - 两个分支分别是mac版本和windows版本,mac版本使用chrome浏览器,windows使用edge浏览器,对应的驱动在根目录下 ### 1.1.1. 支持的请求方法 - POST(CREATE):只有一个资源搜索的接口,使用响应方式 ### 1.1.2. 通用返回状态说明 | *状态码* | 标识 | *说明*| |-----|------|--------| |100|SUCCESS|搜索成功| |101|SPIDER_TYPE|开始爬取标签| |102|SUTYPE_FINISHCCESS_ADD|标签爬取完成| |201|SPIDER_GOODS|开始爬取商品| |202|GOODS_FINISH|商品爬取完成| |301|EXECUTE|开始解析数据| |401|TYPENUM|种类商品数目| |402|TYPESALES|种类销量数目| |403|PRICENUM|价格区间分析| |404|PRICESALES|价格销量分析| |405|TAGSALES|标签分析| |406|SELF|京东自营情况| |407|SHOPTOP|热销店铺| |408|GOODSTOP|热销商品| ## 1.2. 搜索 ### 1.2.1. 搜索接口 - 请求路径:/search(ajax请求) - 请求方法:post - 请求参数 |参数名|参数说明|备注| |:--------:|:----:|:----:| |search|搜索信息 |不能为空| - 响应参数 - Null - - 响应数据 ```json { "meta": { "msg": "搜索成功!", "code": 100 } } ``` ## 1.3. 状态推送 ### 1.3.1. 获取爬取状态 - 请求路径:/meta - 请求方法:ws:websockt - 响应参数 - Null - - 响应数据 ```json { "meta":{ "msg":"开始爬取标签数据", "code":101 } } ``` ## 1.4. 数据推送 ### 1.4.1. 种类分析 - 请求路径:/type_percentage - 请求方法:ws:websockt - 响应参数 | 参数名| 参数说明 |备注| |:----:|:----:|:----:| | dataSales | 销量占比数据| | dataPrince | 价格占比数据| | word | 词云比例| | name | 标签名称| | value | 销量总和/标签对应商品数量| - - 响应数据 ```json { "dataSales":[ {"name":"保护套","value":4148526}, {"name":"KINDLE","value":1329779}, {"name":"电子笔记","value":360670}, {"name":"安卓","value":306969}, {"name":"词典","value":182420}, {"name":"16GB","value":181322}, {"name":"触控","value":149974}, {"name":"纯平","value":115492}, {"name":"语音转文字","value":104096}, {"name":"阅读灯","value":103877}], "dataPrince":[ {"name":"保护套","value":1191}, {"name":"8GB","value":148}, {"name":"KINDLE","value":125}, {"name":"安卓","value":122}, {"name":"贴膜","value":78}, {"name":"16GB","value":74}, {"name":"4GB","value":52}, {"name":"阅读灯","value":50}, {"name":"阅读灯","value":50}, {"name":"词典","value":47}], "word":[ {"name":"阅读灯","value":50}, {"name":"蓝牙听书","value":7}, {"name":"词典","value":47}, {"name":"语音转文字","value":29}, {"name":"防水","value":12}, {"name":"背光显示","value":0}, {"name":"邮件收发","value":0}, {"name":"4GB","value":52}, {"name":"8GB","value":148}, {"name":"16GB","value":74}, {"name":"32GB","value":41}, {"name":"64GB","value":31}, {"name":"安卓","value":122}, {"name":"KINDLE","value":125}, {"name":"WinCE","value":0}, {"name":"OBOOK OS","value":0}, {"name":"linux","value":0}, {"name":"阅读器单机","value":0}, {"name":"阅读器套装","value":2}, {"name":"电子笔记","value":39}, {"name":"保护套","value":1191}, {"name":"阅读灯","value":50}, {"name":"贴膜","value":78}, {"name":"数据线","value":33}, {"name":"支架","value":16}, {"name":"充电头","value":2}, {"name":"触控","value":37}, {"name":"纯平","value":44}, {"name":"按键","value":8}, {"name":"非纯平","value":0} ] } ``` ### 1.4.2. 京东自营商品占比 - 请求路径:/self_percentage - 请求方法:ws:websockt - 响应参数 | 参数名| 参数说明 |备注| | :--------: | :----: |:----: | | data | 京东自营商品数据| | self | 京东自营商品数量| | other | 其他商品数量| - - 响应数据 ```json { "data": { "summary": 2714, "self": 307 }, "meta": { "msg": "自营商品比重分析", "code": 406 } } ``` ### 1.4.3. 价格销量区间分析 - 请求路径:/princeSales - 请求方法:ws:websockt - 响应参数 | 参数名| 参数说明 |备注| | :--------: | :----: |:----: | | xAxis | X轴金额| | series | Y轴数据| | goodsNum | 商品数目| | sales | 销量| - - 响应数据 ```json { "xAxis": [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, 8600, 8800, 9000, 9200, 9400, 9600, 9800, 10000, 10200, 10400, 10600, 10800, 11000, 11200, 11400, 11600, 11800, 12000, 12200, 12400, 12600, 12800, 13000, 13200, 13400, 13600, 13800, 14000, 14200, 14400, 14600, 14800, 15000], "meta": { "msg": "价格区间分析", "code": 403 }, "series": { "goodsNum": [92, 132, 163, 148, 131, 135, 146, 162, 125, 128, 85, 115, 101, 76, 74, 52, 80, 96, 67, 75, 34, 47, 53, 20, 36, 18, 13, 31, 32, 25, 12, 16, 22, 16, 17, 2, 10, 8, 4, 8, 3, 5, 8, 3, 11, 9, 5, 1, 1, 14, 2, 3, 1, 4, 5, 0, 0, 2, 2, 3, 0, 2, 3, 1, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0], "sales": [1472015, 510603, 1643945, 2511521, 612695, 1765040, 1168173, 2367682, 1366368, 452003, 579760, 644093, 401573, 1145857, 277834, 103460, 1158405, 408655, 1362498, 1934057, 144024, 559518, 486323, 78451, 6153607, 23196, 50464, 44995, 33518, 106997, 53202, 13123, 450950, 608772, 107764, 500, 4390, 11350, 10200, 61545, 1202, 13210, 11547, 2189, 22136, 118748, 267, 100, 1000, 2239, 303000, 500, 55, 8099, 645, 0, 0, 100, 16, 20119, 0, 50, 2039, 71, 63, 1000, 600, 0, 88, 0, 0, 0, 0, 0, 0] } } ``` ### 1.4.4. 商品top100 - 请求路径:/goodsTop - 请求方法:ws:websockt - 响应参数 | 参数名| 参数说明 |备注| | :--------: | :----: |:----: | | data | 商品数据| | goods_img | 商品图片地址| | id | 商品唯一id| | sales | 销量| | shop_name | 店铺名称| | goods_img | 商品图片地址| | shop_src | 店铺地址| | tag_name | 商品优惠标签| | title | 商品名称| - - 响应数据 ```json { "data":[ { "goods_img":"//img11.360buyimg.com/n7/jfs/t28219/333/1478277301/134215/f1f8457c/5ce20005N6a0a57cf.jpg", "goods_src":"https://item.jd.com/100003394031.html", "id":158,"prince":109.0, "sales":400000.0, "shop_name":"RUIZU锐族数码京东自营旗舰店", "shop_src":"https://mall.jd.com/index-1000002349.html?from=pc", "tag_name":"自营,放心购,", "title":"锐族(RUIZU)X02 16G 黑色 运动MP3/MP4音乐播放器迷你学生随身听便携式英语听力插卡录音" } ] } ``` ### 1.4.5. 热销店铺分析 - 请求路径:/shopTop - 请求方法:ws:websockt - 响应参数 | 参数名| 参数说明 |备注| | :--------: | :----: |:----: | | xAxis | X轴金额| | data | 对应销量| - - 响应数据 ```json { "data": [{ "name": "京东自营", "value": 0.9472672 }, { "name": "佳沪电商旗舰店", "value": 0.015150971 }, { "name": "明日数码旗舰店", "value": 0.0063488986 }, { "name": "拍拍严选官方旗舰店", "value": 0.0054765837 }, { "name": "炜东电商旗舰店", "value": 0.0049617584 }, { "name": "京铠玄手机旗舰店", "value": 0.0048734215 }, { "name": "疆界互联旗舰店", "value": 0.0046813115 }, { "name": "头号卖家旗舰店", "value": 0.0037978052 }, { "name": "聚捷联盛手机旗舰店", "value": 0.0037328785 }, { "name": "京联通达旗舰店", "value": 0.0037092285 }], "meta": { "msg": "热销店铺", "code": 407 } } ``` ### 1.4.6. 商品优惠销量分析 - 请求路径:/tagSales - 请求方法:ws:websockt - 响应参数 | 参数名| 参数说明 |备注| | :--------: | :----: |:----: | | data | X轴金额| | name | 标签名称| | value | 销量| - - 响应数据 ```json { "data":[ {"name":"自营","value":18453984}, {"name":"放心购","value":11250095}, {"name":"免邮","value":2344668}, {"name":"京东物流","value":1488533}, {"name":"每满79-30","value":1200000}, {"name":"赠","value":787329}, {"name":"秒杀","value":638144}, {"name":"新品","value":435299}, {"name":"券148-5","value":380000}, {"name":"券每满300减30","value":300287}, {"name":"券980-60","value":128000}, {"name":"满200-20","value":103541}, {"name":"券188-6","value":100355}, {"name":"满299-15","value":90000}, {"name":"2件8折","value":85502}, {"name":"券188-60","value":80000}, {"name":"每满300-30","value":57610}, {"name":"厂商配送","value":51397}, {"name":"券1000-100","value":42400}, {"name":"满2000-170","value":40000} ] } ```