提交 dd27e692 authored 作者: 梁业锦's avatar 梁业锦 💬

封装了一个获取订单链接的方法

上级 f2d64b98
......@@ -22,7 +22,7 @@
> 注意爬虫的命名
# 需要爬取的购物网站
### [Pull and Bear](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/PullandbearSpider.java)
### 1.[Pull and Bear](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/PullandbearSpider.java)
- 主页:https://www.pullandbear.cn/cn/%E5%A5%B3%E5%A3%AB-c1030204574.html
- 命名:pullandbear
- 爬虫进度:**已完成**
......@@ -31,19 +31,19 @@
- 颜色款式数据有误
- 尺码未对应样式
### [Gap](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/GapItemSpider.java)
### 2.[Gap](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/GapItemSpider.java)
- 主页:https://www.gap.cn/
- 命名:gap
- 爬虫进度:**已完成**
- 失效,无法爬取数据
### [Zara](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/ZaraSpider.java)
### 3.[Zara](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/ZaraSpider.java)
- 主页:https://www.zara.cn/cn
- 命名:zara
- 爬虫进度:**已完成**
- 可能存在的缺陷:
### [Uniqlo(优衣库)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/UniqloSpider.java)
### 4.[Uniqlo(优衣库)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/UniqloSpider.java)
- 主页:https://www.uniqlo.cn/UNIQLO_U19FW_MEN.html
- 命名:uniqlo
- 爬虫进度:**已完成**
......@@ -52,37 +52,37 @@
- 可能存在的缺陷:
- 图片的路径是直接下载图片
### [Nike(耐克)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/NikeItemSpider.java)
### 5.[Nike(耐克)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/NikeItemSpider.java)
- 主页:https://www.nike.com/cn
- 命名:nike
- 爬虫进度:**已完成**
### [Adidas(阿迪达斯)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/AdidasSpider.java)
### 6.[Adidas(阿迪达斯)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/AdidasSpider.java)
- 主页:https://www.adidas.com.cn/
- 命名:adidas
- 爬虫进度:**已完成**
- 可用但存在的缺陷:
- 商品尺码不对应
### [H&M](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/HmSpider.java)
### 7.[H&M](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/HmSpider.java)
- 主页:https://www2.hm.com/zh_cn/
- 命名:hm
- 爬虫进度:**已完成**
### LiLy
### 8.LiLy
- 主页:http://www.lily.sh.cn/webapp/wcs/stores/servlet/lilystore
- 命名:lily
- 爬虫进度:已完成分析,待处理
- 数据嵌在HTML中,数据较难处理,延后爬取
### Eifini
### 9.Eifini
- 主页:https://eifini.tmall.com/
- 命名:eifini
- 爬虫进度:未知方法
- 该购物网站是天猫代理的商城
### [Urban Revivo](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/UrbanRevivoSpider.java)
### 10.[Urban Revivo](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/UrbanRevivoSpider.java)
- 主页:http://www.ur.cn/index.html
- 命名:urbanrevivo
- 爬虫进度:**已完成**
......@@ -91,13 +91,13 @@
- 数据接口:http://wap.ur.com.cn/product/product/detail?id=ff8080816dbb693e016dfd58f27c45d9
- 可用但存在的缺陷:
### Aber Crombie & Fitch
### 11.Aber Crombie & Fitch
- 主页:https://www.abercrombie.cn/zh_CN/home
- 命名:abercrombie
- 爬虫进度:存在反爬机制
- 链接做了编码形式的反爬机制
### [Under Armour(安德玛)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/UnderArmourSpider.java)
### 12.[Under Armour(安德玛)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/UnderArmourSpider.java)
- 主页:https://www.underarmour.cn/
- 命名:ur
- 爬虫进度:**已完成**
......@@ -105,37 +105,37 @@
- 效率太慢
- 主图失效
- 尺码不对应库存
### Converse(匡威)
### 13.Converse(匡威)
- 主页:https://www.converse.com.cn/
- 命名:converse
- 爬虫进度:存在反爬机制
- 存在反向代理的反爬机制,暂无法爬取
### [Ochirly(欧时力)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/OchirlySpider.java)
### 14.[Ochirly(欧时力)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/OchirlySpider.java)
- 主页:http://www.ochirly.com.cn/SALE/list.shtml
- 命名:ochirly
- 爬虫进度:**已完成**
- 可用但存在的缺陷:
### [Esprit(埃斯普利特)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/EspritSpider.java)
### 15.[Esprit(埃斯普利特)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/EspritSpider.java)
- 主页:https://www.esprit.cn/
- 命名:esprit
- 爬虫进度:**已完成**
- App爬取数据失效
### [Levi(李维斯)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/LeviSpider.java)
### 16.[Levi(李维斯)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/LeviSpider.java)
- 主页:https://www.levi.com.cn/
- 命名:levi
- 爬虫进度:**已完成**
- App爬取数据失效
### [MO&Co.(摩安珂)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/MocoSpider.java)
### 17.[MO&Co.(摩安珂)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/MocoSpider.java)
- 主页:https://www.moco.com/moco/zh/c/BS_DISCOUNT
- 命名:moco
- 爬虫进度:**已完成**
- 可用但存在的缺陷:
- 主图失效
### [Massimo Dutti](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/MassimoduttiSpider.java)
### 18.[Massimo Dutti](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/MassimoduttiSpider.java)
- 主页:https://www.massimodutti.cn/cn/男装/季末折扣/休闲西装-c1745921.html
- 命名:massimodutti
- 爬虫进度:**已完成**
......@@ -145,7 +145,7 @@
- 商品详情:https://www.massimodutti.cn/cn/%E5%A5%B3%E8%A3%85/%E7%B3%BB%E5%88%97/%E8%A1%AC%E8%A1%AB%E5%92%8C%E7%BD%A9%E8%A1%AB/%E8%A1%AC%E8%A1%AB/%E6%BB%91%E9%9B%AA%E9%A3%8E%E7%B3%BB%E5%88%97%E9%A5%B0%E5%8F%A3%E8%A2%8B%E8%A1%AC%E8%A1%AB-c1718602p8730105.html?colorId=420&categoryId=1718602
- 数据接口:https://www.massimodutti.cn/itxrest/2/catalog/store/35009478/30359500/category/0/product/8730105/detail?languageId=-7&appId=1
### [COACH(蔻驰)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/CoachSpider.java)
### 19.[COACH(蔻驰)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/CoachSpider.java)
- 主页:https://china.coach.com/women.html
- 命名:coach
- 爬虫进度:**已完成**
......@@ -153,29 +153,76 @@
- 商品详情:https://china.coach.com/coach-essentials-oversize-cardigan/69007_LPK.html?c=8664
- 数据接口:https://china.coach.com/rest/default/V1/applet/product/CONF69007_LPK
- 存在缺陷:还需要判断是否存在颜色或尺寸的数据
### Revolve
### 20.Revolve
- 主页:https://www.revolve.com/wrangler/br/57f1a1/?utm_source=baidu&utm_medium=cpc&utm_campaign=intl_P_cn-d-Wrangler
- 命名:reolve
- 爬虫进度:
### Vans(范斯)
### 21.Vans(范斯)
- 主页:https://vans.com.cn/gallery-index---0---36.html
- 命名:Vans
- 爬虫进度:
### 22.ZaraHome
- 主页:https://zarahome.tmall.com/?spm=a1z10.3-b-s.1997427721.d4918089.7b872e00zWrHhi
- 命名:
- 爬虫进度:天猫代理网站
### 23.Oysho
- 主页:https://oysho.tmall.com/ (SPORT WEAR)
- 命名:
- 爬虫进度:天猫代理网站
### 24.[Stradivarius(斯特拉迪瓦里斯)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/StradivariusSpider.java)
- 主页:https://www.stradivarius.cn/cn/
- 命名:stradivarius
- 爬虫进度:**已完成**
### 待选爬虫网站:
- 21,https://vans.com.cn/gallery-index---0---36.html
- 22,https://zarahome.tmall.com/?spm=a1z10.3-b-s.1997427721.d4918089.7b872e00zWrHhi
- 23,https://oysho.tmall.com/ (SPORT WEAR)
- 24,https://stradivarius.tmall.com/ (ZARA GROUP )
- 25,https://www.maje.cn/home?utm_campaign=maje-competitor-u&utm_content=competitor-ph&utm_medium=cpc&utm_source=baidu&utm_term=marc%e6%98%af%e4%bb%80%e4%b9%88%e7%89%8c%e5%ad%90
- 26,https://www.gucci.cn/zh/?utm_source=baiducpc_cn&utm_medium=cpc&utm_term=Title2&utm_content=URL_E-commerce_HomePage&utm_campaign=BD_PC_URL_E-commerce&src=Baidu&medium=PPC&Network=1&kw=133669705534&ad=31701433238&ag_kwid=23329-4-575c9bdeeef5d28f.9143bf3bdcd3718c
- 27,https://cn.burberry.com/?utm_source=Baidu&utm_medium=cpc&utm_campaign=cn_brandzone_pc_aw19_aw_20190822&utm_term=brandzone&utm_content=title&gclid=CPf87uqgwOQCFQ4XvAodUzMEkA&gclsrc=ds
- 28,https://www.prada.com/cn/zh.html?utm_source=baidu&utm_medium=pcbrandzone&utm_campaign=2017-12-19_e-commerce
- 29,https://www.fendi.cn/?utm_source=Baidu&utm_medium=PC&utm_campaign=NewBrand%20Pure&utm_content=B_Site
- 30,https://www.vmall.com/huawei?cid=78140 (huawei)
- 31,http://inside.chanel.com/zh/chanel-goes-west
- 32,https://www.apple.com/cn/shop/buy-iphone/iphone-xr
- 33,https://www.louisvuitton.cn/zhs-cn/homepage?campaign=sem_CN_ZHS_BA_EC_BZON_PC_Valuable_H1_homepage
### 25.Maje
- 主页:https://www.maje.cn/home?utm_campaign=maje-competitor-u&utm_content=competitor-ph&utm_medium=cpc&utm_source=baidu&utm_term=marc%e6%98%af%e4%bb%80%e4%b9%88%e7%89%8c%e5%ad%90
- 命名:maje
- 爬虫进度:
### 26.[Gucci(古驰)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/GucciSpider.java)
- 主页:https://www.gucci.cn/zh/?utm_source=baiducpc_cn&utm_medium=cpc&utm_term=Title2&utm_content=URL_E-commerce_HomePage&utm_campaign=BD_PC_URL_E-commerce&src=Baidu&medium=PPC&Network=1&kw=133669705534&ad=31701433238&ag_kwid=23329-4-575c9bdeeef5d28f.9143bf3bdcd3718c
- 命名:gucci
- 爬虫进度:**已完成,待测试**
### 27.Burberry(博柏利)
- 主页:https://cn.burberry.com/?utm_source=Baidu&utm_medium=cpc&utm_campaign=cn_brandzone_pc_aw19_aw_20190822&utm_term=brandzone&utm_content=title&gclid=CPf87uqgwOQCFQ4XvAodUzMEkA&gclsrc=ds
- 命名:burberry
- 爬虫进度:需要模拟登录,延后
### 28.[Prada(普拉达)](../src/main/java/com/diaoyun/zion/chinafrica/bis/impl/PradaSpider.java)
- 主页:https://www.prada.com/cn/zh.html?utm_source=baidu&utm_medium=pcbrandzone&utm_campaign=2017-12-19_e-commerce
- 命名:prada
- 爬虫进度:**已完成**
### 29.Fendi(芬迪)
- 主页:https://www.fendi.cn/?utm_source=Baidu&utm_medium=PC&utm_campaign=NewBrand%20Pure&utm_content=B_Site
- 命名:fendi
- 爬虫进度:
### 30.HuaWei(华为)
- 主页:https://www.vmall.com/huawei?cid=78140 (huawei)
- 命名:huawei
- 爬虫进度:
### 31.Chanel(香奈儿)
- 主页:http://inside.chanel.com/zh/chanel-goes-west
- 命名:chanel
- 爬虫进度:
### 32.Apple(苹果)
- 主页:https://www.apple.com/cn/shop/buy-iphone/iphone-xr
- 命名:apple
- 爬虫进度:
### 33.Louisvuitton(路易威登LV)
- 主页:https://www.louisvuitton.cn/zhs-cn/homepage?campaign=sem_CN_ZHS_BA_EC_BZON_PC_Valuable_H1_homepage
- 命名:louisvuitton
- 爬虫进度:
# 爬虫步骤
## 目的
......
package com.diaoyun.zion.master.util;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.text.StringEscapeUtils;
import org.jsoup.Jsoup;
......@@ -221,11 +222,26 @@ public class JsoupUtil {
}
/**
* 获取变量的值
*
* 根据script id获取内容
* @param content
* @param id
* @return
*/
public static JSONObject getScriptContentById(String content, String id) {
Document document = Jsoup.parse(content);
Element element = document.getElementById(id);
String dataStr=element.data();
JSONObject dataMap= JSONObject.fromObject(dataStr);
return dataMap;
}
/**
* 获取指定网页内的 script 标签的 Json 格式的数据变量
*
* @param content 网页内容
* @param variableName 变量名
* @return 变量内的 Json 数据
*/
public static JSONObject getItemDetailByName(String content, String variableName) {
String detailStr = getScriptContent(content, variableName);
int firstBrackets=detailStr.indexOf("{");
......@@ -236,17 +252,32 @@ public class JsoupUtil {
}
/**
* 根据script id获取内容
* @param content
* @param id
* 获取指定网页内容的 script 标签内的变量值</br>
* 仅限于格式:</br>
* window.produictId = 290000;
* @param content 网页内容
* @param variableName 变量名
* @return 变量的值
*/
public static String getScriptTagVariableContent(String content, String variableName) {
String detailStr = getScriptContent(content, variableName);
String[] spilt = detailStr.split("=");
return spilt[1].replaceAll(";", "").trim();
}
/**
* 获取订单返回的 Json 数据的 href 节点的地址值
* @param dataMap
* @return
*/
public static JSONObject getScriptContentById(String content, String id) {
Document document = Jsoup.parse(content);
Element element = document.getElementById(id);
String dataStr=element.data();
JSONObject dataMap= JSONObject.fromObject(dataStr);
return dataMap;
public static Map<String, String> getOrderHref(String dataMap) {
Map<String, String> map = new HashMap<>(5);
JSONArray dataArr = JSONObject.fromObject(dataMap).getJSONArray("links");
for (int i = 0; i < dataArr.size(); i++) {
JSONObject dataObj = dataArr.getJSONObject(i);
map.put(dataObj.getString("rel"), dataObj.getString("href"));
}
return map;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论