使用Python采集淘宝类目数据并进行数据分析

使用Python采集沙发类目商品数据,并对数据进行分析,提供给普通买家购买参考以及学习使用

  1. 商品类目:沙发
  2. 数量:共100页 4400个商品;
  3. 筛选条件:天猫、销量从高到低、价格500元以上。

项目目的

  1. 对商品标题进行文本分析 词云可视化

  2. 不同关键词word对应的sales的统计分析

  3. 商品的价格分布情况分析

  4. 商品的销量分布情况分析

  5. 不同价格区间的商品的平均销量分布

  6. 商品价格对销量的影响分析

  7. 商品价格对销售额的影响分析

  8. 不同省份或城市的商品数量分布

9.不同省份的商品平均销量分布

注:本项目仅以以上几项分析为例。

项目步骤

  1. 数据采集:Python爬取淘宝网商品数据

  2. 对数据进行清洗和处理

  3. 文本分析:jieba分词、wordcloud可视化

  4. 数据柱形图可视化 barh

  5. 数据直方图可视化 hist

  6. 数据散点图可视化 scatter

  7. 数据回归分析可视化 regplot

工具&模块:

工具:本案例代码编辑工具 Anaconda的Spyder
模块:requests、retrying、missingno、jieba、matplotlib、wordcloud、imread、seaborn 等。

爬取数据

因淘宝网是反爬虫的,虽然使用多线程、修改headers参数,但仍然不能保证每次100%爬取,所以 我增加了循环爬取,每次循环爬取未爬取成功的页 直至所有页爬取成功停止。
说明:淘宝商品页为JSON格式 这里使用正则表达式进行解析;
代码如下:

数据清洗、处理:

此步骤也可以在Excel中完成 再读入数据
代码如下:


说明:根据需求,本案例中只取了 item_loc, raw_title, view_price, view_sales 这4列数据,主要对 标题、区域、价格、销量 进行分析。

代码如下:

数据挖掘与分析:

  1. 对 raw_title 列标题进行文本分析:

使用结巴分词器,安装模块pip install jieba

对 title_s(list of list 格式)中的每个list的元素(str)进行过滤 剔除不需要的词语,即 把停用词表stopwords中有的词语都剔除掉:

因为下面要统计每个词语的个数,所以 为了准确性 这里对过滤后的数据 title_clean 中的每个list的元素进行去重,即 每个标题被分割后的词语唯一。

观察 word_count 表中的词语,发现jieba默认的词典 无法满足需求:

有的词语(如 可拆洗、不可拆洗等)却被cut,这里根据需求对词典加入新词(也可以直接在词典dict.txt里面增删,然后载入修改过的dict.txt)

词云可视化:

安装模块 wordcloud:
方法1: pip install wordcloud
方法2: 下载Packages安装:pip install 软件包名称
软件包下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

注意:要把下载的软件包放在Python安装路径下。

代码如下:


分析结论:

综合分析:

  1. 组合、整装商品占比很高;
  2. 从沙发材质看:布艺沙发占比很高,比皮艺沙发多;
  3. 从沙发风格看:简约风格最多,北欧风次之,其他风格排名依次是美式、中式、日式、法式 等;
  4. 从户型看:小户型占比最高、大小户型次之,大户型最少。

不同关键词word对应的sales之和的统计分析:

(说明:例如 词语 简约’,则统计商品标题中含有简约’一词的商品的销量之和,即求出具有简约’风格的商品销量之和)
代码如下:

对表df_word_sum 中的 word 和 w_s_sum 两列数据进行可视化
(本例中取销量排名前30的词语进行绘图)

由图表可知:

  1. 组合商品销量最高 ;

  2. 从品类看:布艺沙发销量很高,远超过皮艺沙发;

  3. 从户型看:小户型沙发销量最高,大小户型次之,大户型销量最少;

  4. 从风格看:简约风销量最高,北欧风次之,其他依次是中式、美式、日式等;

  5. 可拆洗、转角类沙发销量可观,也是颇受消费者青睐的。

商品的价格分布情况分析:

分析发现,有一些值太大,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。
代码如下:

由图表可知:

  1. 商品数量随着价格总体呈现下降阶梯形势,价格越高,在售的商品越少;

  2. 低价位商品居多,价格在500-1500之间的商品最多,1500-3000之间的次之,价格1万以上的商品较少;

  3. 价格1万元以上的商品,在售商品数量差异不大。

商品的销量分布情况分析:

同样,为了使可视化效果更加直观,这里我们选择销量大于100的商品。
代码如下:

由图表及数据可知:

  1. 销量100以上的商品仅占3.4% ,其中销量100-200之间的商品最多,200-300之间的次之;

  2. 销量100-500之间,商品的数量随着销量呈现下降趋势,且趋势陡峭,低销量商品居多;

  3. 销量500以上的商品很少。

不同价格区间的商品的平均销量分布:

代码如下:

由图表可知:

  1. 价格在1331-1680之间的商品平均销量最高,951-1331之间的次之,9684元以上的最低;

  2. 总体呈现先增后减的趋势,但最高峰处于相对低价位阶段;

  3. 说明广大消费者对购买沙发的需求更多处于低价位阶段,在1680元以上 价位越高 平均销量基本是越少。

商品价格对销量的影响分析:

同上,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。

代码如下:

由图表可知:

  1. 总体趋势:随着商品价格增多 其销量减少,商品价格对其销量影响很大;

  2. 价格500-2500之间的少数商品销量冲的很高,价格2500-5000之间的商品多数销量偏低,少数相对较高,但价格5000以上的商品销量均很低 没有销量突出的商品。

商品价格对销售额的影响分析:

代码如下:

由图表可知:

  1. 总体趋势:由线性回归拟合线可以看出,商品销售额随着价格增长呈现上升趋势;

  2. 多数商品的价格偏低,销售额也偏低;

  3. 价格在0-20000的商品只有少数销售额较高,价格2万-6万的商品只有3个销售额较高,价格6-10万的商品有1个销售额很高,而且是最大值。

注:
以上为采集淘宝数据并对采集数据进行分析,但以上只为示例,并且对淘宝数据采集不够稳定,并且效率也不高,作者将淘宝采集数据封装成了数据接口,可实时获取到相关数据,可用于大数据分析、电商选品、品牌维权监控、同行监控等作用
以下为返回数据示例(关键字搜索):

封装的接口返回数据示例:

{
  "code": 1,
  "msg": "返回成功",
  "time": "1650382153",
  "data": {
    "detail": {
      "_cost": 405.758359,
      "pageTraceArgs": [
        {
          "value": "a2141.7631557.0.0",
          "key": "spm-cnt"
        },
        {
          "value": "{\"for_bts\":\"wlrank_bigmodel:66670;health_rerank:432590;newSimilar:17424;mac_aac_layer:24785;main_feedback:33288;JK95:36180;diversity:6882;guangguangTabFlow:34770;new_card:24153;LBS_TAB:8437;tmtab_algo:77886;wlrank_pricesort:11118;sophon_card_hs:565508;interactive_search:8966;wlrank_business:32038;smart_ui_fast:27633;ifashion_tab_fe:546016;tpp_search_app:66;wlrank_adapt:6025;search_growth_outside:17105;navigation_kg:10281;tmall_tab_bucket:5536;newSearch:6445016;shop_combo:29018;search_growth_drop_down:21025;shopsearch_price_optimization:428409;pk_exp:35386;xui_layer:37026;mixrank_mainse:8249;smart_ui:7205;skuGovern:433908;price_sort_to_tpp:31917;tb_sug_rank:25832;taobao_new_experience:25980;ads_test:3612;relevance:3333;coupon_abTest_c:21465;newitem_tab:6012;wlrank_strategy:555511;sp2tpp:44010;tpp_search_ab:206609;aliHealthy_vertical:32877;newproduct_fe_1:6233;mac_aac_card_layer:26631;rank_policy:27410;twoLineTitle:20776;show_title:35494;magellan:716505;g9_search:1263;fruit:431238;hour_cloud_theme:26258;spl_suggest:97825;wlrank_layer4:4140;hour_store_check:17316;match:7367;srp_guess_like_search:17372;tpp_search_bucketId:88;recall_hx:7364;lsc_bucket_id:7\",\"list_param\":\"优衣库_22_f17b321b5a127c0474c0e12d39d0ffce\"}",
          "key": "utparam-cnt"
        }
      ],
      "pageSize": "10",
      "sessionid": "7857de02e1475d36ac06a36321f5554d",
      "pageName": "MainSrp",
      "tpp_trace": "212c2abf16503821538002842e7866",
      "tpp_buckets": "66#0#206609#88",
      "totalResults": "33224",
      "abtest": "22",
      "boxSearchTrace": [

      ],
      "pvid": "dcbef287-dc15-4de3-845a-3142c534ef60",
      "parameter": "q",
      "pageTraceName": "Page_SearchItemList-MainSrp",
      "scm": "1007.28601.159588.0",
      "height": "234",
      "paramValue": "优衣库",
      "totalPage": "200",
      "boxType": "RMI_CALL",
      "_router_host": "hippo.33.55.93.134.na63",
      "_host": "hippo.33.55.93.134.na63",
      "version": 1,
      "boxSearch": "http://show.chuangyi.taobao.com/html/65817/2022/04/18/286fa11d-d6280aad-205328209.html?rd=http%3A%2F%2Fclick.mz.simba.taobao.com%2Fbrand%3Fe%3DZNDS26m%252FpxoStXg%252B%252F8vbVPIC25qgcod08xnkK0gQlRp%252BhP8scr8HImF44NkOC4ckSybhiL%252F%252B4ZRqtsZTksZxmREkdsuPsCamr8WVqNcfHdhVdOCq6IIdON5FUbEg1KBIc86rR9eOOeqPSQCGfbSoUmqyopi6xDLbvlsboW2jMSUQhqUaN%252BVBVa7HVYROgaKGhT%252FnTt%252BcL0IGxfzsc6cWWrNTz10VYajdvlsboW2jMSW680kE1hqIRrWpQCbsKhxQorYgm7figGSuNMU300LgrKDQYJhonSLuN3zqKjJAtsrtewMrSsvXskjU0J03ayoh4NhLD5vontiUR8e3BaivmvPG%252FpPPm92g7uienL%252Ffilc5gEf2nbHqm2EAG2z5gXvsv2B%252FpN7wN3ySMpNV3hqwynlQCFZsyrJfbKvaJgSbpo7864V2lEOGorF0WEkPgrIjhpmG93IsZDeKM4aFmZLySzFx7kkl4fw4SXyrDqg6lO4gc%252B85jX0YlvEsIIJRN0GQ6cLBbV5gdKbGKbVEsOOXEkwYCgJNAMU%252BuoCrDRNLFfA3LgSqUe0QaiG3iwfgYD%252FVtT77GSmriwe7r2ymx1R8Urg7yB9l7n7k%26u%3D%26k%3D611%26eadt%3D42&style=112&q=%E4%BC%98%E8%A1%A3%E5%BA%93&nq=%E4%BC%98%E8%A1%A3%E5%BA%93&enable_linkage=true&bucketids=182037,182041,182042,182045,182052,182055,2790058,3243104,3243780,3284058,3287574,3285086,3286493,3493241,3286667,3287348,3301293,3302225,0,3506401&campaign_id=194366765&adgroup_id=194731278&creative_id=287971500420001&session_id=e5281e0ba37e5700625ed549d0bf4804&shop_id=57303596",
      "width": "375",
      "order_by": "_coefp",
      "style": "wf",
      "page": "1",
      "RN": "f17b321b5a127c0474c0e12d39d0ffce",
      "itemsArray": [
        {
          "priceWap": "59.00",
          "activityIdBase64": "",
          "short_title_c2c": "",
          "videoAutoPlay": "false",
          "extraParams": [
            {
              "value": "taobaoSearch",
              "key": "xxc"
            },
            {
              "value": "%E4%BC%98%E8%A1%A3%E5%BA%93",
              "key": "detailAlgoParam"
            }
          ],
          "uprightImg": "http://g.search2.alicdn.com/img/bao/uploaded/i4/i4/196993935/O1CN01W98iRD1ewHGhkRswt_!!0-item_pic.jpg",
          "title": "优衣库uniqlo圆领t恤春夏短袖",
          "tItemType": "nt_auction",
          "utLogMap": {
            "x_business": "tbxls",
            "p_t": "1",
            "xui_longPic": "c3f88862027c4054de612679660979ef",
            "p_f": "0",
            "smartui_exp": "5",
            "title": "showTitle"
          },
          "auctionURL": "http://a.m.taobao.com/i633123980436.htm?&ttid=10005533%40taobaolive_android_1.7.4&v=1.0&sid=3a040b44560d18ca9c09789b2086a096",
          "trace": {
            "spm-url": "a2141.7631557.0.0",
            "item_id": "633123980436",
            "utLogMap": {
              "item_price": "59.00",
              "list_param": "优衣库_22_f17b321b5a127c0474c0e12d39d0ffce",
              "x_biz": "item",
              "page": "1",
              "isP4p": "false"
            }
          },
          "itemCollect": "false",
          "price": "59.00",
          "summaryTips": [
            "理想之选:天猫认证",
            "设计师款:设计师款"
          ],
          "realSales": "5万+人付款",
          "sameCount": "0",
          "leafCategory": "50000671",
          "isP4p": "false",
          "sold": "50168",
          "shopInfo": {
            "pbshowshopinfo": "false",
            "shopInfoList": [
              "优衣库官方旗舰店",
              "上海"
            ],
            "url": "https://shop.m.taobao.com/shop/shop_index.htm?shop_navi=allitems&upText=%E4%BC%98%E8%A1%A3%E5%BA%93&item_id=633123980436"
          },
          "detailBaseUrl": "",
          "similarSameUrl": "",
          "item_id": "633123980436",
          "priceColor": "#000000",
          "hiddenSet": [

          ],
          "uprightImgAspectRatio": "0.667",
          "cardType": "item",
          "itemPriceSign": "",
          "pic_path": "http://g.search2.alicdn.com/img/bao/uploaded/i4/i4/196993935/O1CN015oL08X1ewHGefXx1g_!!196993935.jpg_60x60.jpg",
          "icons": [

          ],
          "priceShow": {
            "unit": "¥",
            "price": "59.00",
            "preText": ""
          },
          "userId": "196993935",
          "similarURL": "http://h5.m.taobao.com/app/searchsimilar/www/tbsimilar/index.html?from=tbsearch&showtype=similar&liantiao=wsearch_pre_http_gray&scm=20140662.search&vm=nw&nid=633123980436&q=%E4%BC%98%E8%A1%A3%E5%BA%93&searchToken=00825aec213d76ef56747df81596adb48c709c889c2a3543a65ef69a12c26a79",
          "g9": "false",
          "dItemType": "nt_auction_2019",
          "isB2c": "1",
          "productLaunch": "",
          "showLongTitle": "true",
          "iconList": "",
          "locType": "",
          "similarCount": "1"
        },
        // ... more ...
      ]
    },
    "time": "1.33s",
    "api_tp": "taobao",
    "api_name": "search",
    "log": "success"
  }
}

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值