淘宝商品详情爬取

淘宝商品详情爬取

  • 淘宝商品详情爬取
    • 分析思路
    • 抓取实体及标识
    • 商品信息解析
    • H5详情获取
    • 运行返回结果
    • 最后

淘宝商品详情爬取

做爬虫也有几年了,一直想分享一些自己的想法,都没时间去搞,正好淘宝最近改版,就写出来供大家参考一下,其实java和py差不多,因为公司是java开发,轮子也比较多,用起来也顺手,如果轮子少的话,建议py…,大神轻喷

分析思路

淘宝详情爬取分析
1.首先想到爬取pc端,页面不需要登录,但是价格和库存错误,抓取到的价格偏高,如果用账号登录,会出现爬取多个会出现滑块和安全限制
2. 可以考虑爬取H5和手机端的价格和库存,或者直接爬取所以详情
3. h5主要在于sign签名,网上方案很多,可以参考

抓取实体及标识

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.xiaoxiao.util.extjackson.StringUnicodeSerializer;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;

/**
 * 商品展示类
 * ***
 * @ClassName: GoodsBasicInfoDTO
 */
public class GoodsBasicInfoDTO implements Serializable {
   

    /**
     * 货源商品链接
     */
    private String goodsUrl;

    /**
     * 货源商品ID
     */
    private String goodsId;

    /**
     * 标题
     */
    private String title = "";

    /**
     * 商品的第一张图片,用于展示给用户看的
     */
    private String imgUrl;

    /**
     * 售价
     */
    private String salePrice;

    /**
     * 市场价
     */
    private String marketPrice;

    /**
     * 成本价
     */
    private String costPrice;

    /**
     * 平台分类
     */
    private String cid;

    /**
     * 货号
     */
    private String productNo;
    /**
     * 店铺id
     */
    private String mallId;

    /**
     * 店铺电话
     */
    private String shopTel;

    /**
     * 如果是商品图片
     */
    private List<String> mainImgList;

    /**
     * 颜色名对应的颜色图片链接
     * key: 颜色名,
     * value: 相应的图片URL列表
     */
    private HashMap<String, List<String>> imgUrlMap;

    /**
     * 从货源采集到的尺码的key
     */
    private List<String> sizeNameList;

    /**
     * 从货源采集到的颜色的key
     */
    private List<String> colorNameList;

    /**
     * SKU信息
     */
    private List<GoodsSkuDTO> skuList;

    /**
     * 详情描述
     */
    private String goodsSourceDetail;

    /**
     * 手机详情
     */
    private String goodsSourcePhoneDetail;

    /**
     * 视频信息
     */
    private GoodsMainVideoDTO goodsMainVideo;

    /**
     * 商品品牌
     */
    private String brand = "";

    /**
     * 商品品牌id
     */
    private Long brandId;

    /**
     * 是否是二手商品
     */
    private Boolean secondHand = false;

    /**
     * 聚划算商品
     */
    private Boolean juHuaGood = false;

    /**
     * 是否淘宝极有家
     */
    private Boolean extremelyShop = false;

    /**
     * 是否是预售商品
     */
    private Boolean preSaleGoods = false;

    /**
     * 是否包邮
     */
    private Boolean freeShipping = false;

   

你可能感兴趣的:(爬虫,xpath,java,http,rpc)