NO.52-淘宝H5商品评价界面接口解析
评论
收藏

NO.52-淘宝H5商品评价界面接口解析

经验分享
云潮
2024-02-28 16:39·浏览量:3303
云潮
发布于 2024-02-28 16:31更新于 2024-02-28 16:393303浏览

一:问题背景

PC端淘宝评价最多只支持获取3页,超过部分需要手淘打开评论查看,H5界面的评价不受该限制,可以在PC端查看。如何通过H5界面高效快捷的获取评价内容是我们今天所要解决的问题。

二.解决方法

1.怎么进入h5评价列表界面

PC端商品链接:https://detail.tmall.com/item.htm?abbucket=16&id=674804802679&ns=1&spm=a21n57.1.0.0.5c6a523cyYCKoD&sku_properties=147956252:51810

H5评价列表:https://h5.m.taobao.com/app/rate/www/rate-list/index.html?auctionNumId=674804802679

只需拿到PC端商品链接中的id即可拼接处H5评价列表网址

H5评价界面如下:

理论上,通过影刀模拟人工滑动加载评论,然后通过获取相似元素即可拿到评价内容

2.关键问题

   1.通过分析接口内容发现,每次滑动只加载10条评价内容,数据量太小

   2.滑动次数过多会频繁跳出验证,如果超过阈值会直接导致评论界面无法打开

3.思考

   能不能直接通过接口的形式获取评价内容?

4.接口解决方案

答案是肯定的,影刀中的HTTP请求指令就能帮助我们,先看指令

复制评价的curl(bash)直接智能填入即可,这里有4个参数是变化的

t:时间戳 str(int( __import__('time').time() * 1000))

Data:

这里有两个参数需要注意

pageSize:该参数控制每页评论数,建议1500以内

pageNo:该参数控制评论页码

sign:根据算法生成的,百度下可以找到,这里直接给现成的

def hex_md5(s):
    m = hashlib.md5()
    m.update(s.encode('UTF-8'))
    return m.hexdigest()

def sign(t,token,appkey,data):
    #t = str(int(time.time() * 1000))
    #t="1704961677818"
    #token="6b2bc8a927a1ea80001d731ee4fd154c"
    #appkey="12574478"
    #data='{"showTrueCount":false,"auctionNumId":"661399886349","rateType":"","searchImpr":"-8","expression":"","orderType":"","pageSize":10,"pageNo":1}'
    u = token + '&' + t + '&' + appkey + '&' + data
    #print(hex_md5(u))
    return hex_md5(u)

 token:从_m_h5_tk中提取,即下图红框部分

Cookie:

Cookie正常通过影刀获取即可,需要注意cookie的拼接方式

这里需要注意一点,请求一定次数以后会弹出验证码,过了验证码以后,会有个x5sec的cookie重新生成,需要把它带上

5.演示效果

6.注意事项

1.使用之前需要先登录淘宝,登录完成以后可关闭浏览器

2.链接评论超过10000,建议只获取10000;不足10000,可全部取出

3.频繁访问会导致淘宝禁止访问评论界面,关进小黑屋!但是其他界面可正常访问,同时手淘不受影响。一般间隔6个小时可自动解封



收藏15
全部评论1
最新
发布评论
评论