【Power Query】使用Excel抓取淘宝天猫所有类目分类和cateId对应关系

本文介绍了如何利用Power Query(M语言)在Excel中抓取并整理淘宝天猫的所有类目分类及其对应的cateId。提供了单列排版的最终Excel文件下载链接,适用于淘宝运营数据分析。
摘要由CSDN通过智能技术生成

先看成果吧,分位多列排版和单列排版,根据你的运营需求选择合适排版
在这里插入图片描述
在这里插入图片描述
Power Query(M语音)是一个非常强大数据清洗工具,我在日常的运营中,也是经常用到(比如抓取生意参谋、合并文件、文本处理等等)直接上源码吧

// 一级类目--多列排版
let
    url = "https://router.publish.taobao.com/router/asyncOpt.htm?optType=categorySelectChildren",
    query = [
        optType = "categorySelectChildren"
    ],
    headers = [
        #"user-agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
        cookie = Excel.CurrentWorkbook(){[Name="cookie"]}[Content]{0}[cookie]
    ],
    web = Json.Document(Web.Contents(url, [Headers=headers,Query=query]))[data][dataSource],
    转换为表 = Table.FromList(web, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"展开的“Column1”" = Table.ExpandRecordColumn(转换为表, "Column1", {"groupName", "children"}, {"groupName", "children"}),
    #"展开的“children”" = Table.ExpandListColumn(#"展开的“Column1”", "children"),
    #"展开的“children”1" = Table.ExpandRecordColumn(#"展开的“children”", "children", {"id", "name"}, {"id", "name"}),
    已添加自定义 = Table.AddColumn(#"展开的“children”1", "二级", each fx([id])),
    #"展开的“二级”" = Table.ExpandTableColumn(已添加自定义, "二级", {"id", "name"}, {"二级id", "二级name"}),
    已添加自定义1 = Table.AddColumn(#"展开的“二级”", "三级", each fx([二级id])),
    #"展开的“三级”" = Table.ExpandTableColumn(已添加自定义1, "三级", {"id", "name"}, {"三级id", "三级name"}),
    已添加自定义2 = Table.AddColumn(#"展开的“三级”", "一级类目", each [groupName]&">"&[name]),
    已添加自定义3 = Table.AddColumn(已添加自定义2, "二级类目", each [一级类目]&">"&[二级name]),
    已添加自定义4 = Table.AddColumn(已添加自定义3, "叶子类目", each [二级类目]&">"&[三级name]),
    重排序的列 = Table.ReorderColumns(已添加自定义4,{"groupName", "id", "一级类目", "name", "二级id", "二级类目", "二级name", "三级id", "叶子类目", "三级name"}),
    删除的列 = Table.RemoveColumns(重排序的列,{"groupName", "name", "二级name", "三级name"})
in
    删除的列

// fx
(x)=>
let
    url = "https://router.publish.taobao.com/router/asyncOpt.htm?optType=categorySelectChildren",
    query = [
        optType = "categorySelectChildren",
        catId = Text.From(x)
    ],
    headers = [
        #"user-agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
        cookie = Excel.CurrentWorkbook(){[Name="cookie"]}[Content]{0}[cookie]
    ],
    web = Json.Document(Web.Contents(url, [Headers=headers,Query=query]))[data][dataSource],
    结果 = try Table.ExpandRecordColumn(Table.FromList(web, Splitter.SplitByNothing(), null, null, ExtraValues.Error), "Column1", {"id", "name"}, {"id", "name"}) otherwise null
in
    结果

下面这个是单列排版方式

// 所有类目(一列)
let
    源 = Excel.CurrentWorkbook(){[Name="表4"]}[Content],
    删除的副本 = Table.Distinct(源)
in
    删除的副本

下面是成品Excel文件
https://download.csdn.net/download/qq980469001/11415810

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值