首页 > 其他分享 >淘宝评论抓取

淘宝评论抓取

时间:2023-06-10 13:15:05浏览次数:43  
标签:import 抓取 sign json 评论 淘宝 sec data MD5

淘宝评论接口sign参数逆向

1.接口速览

pCEosc8.png

多次请求发现,t为时间戳,sign为加密参数,盲猜和datat有关,sign为32位,盲猜是字符串的32位的MD5

2.搜索js代码

pCEo27j.png

这里为搜索的是appKey,就找到了sign,然后看上面的加密函数,很像MD5,于是进入调试,看看是不是原生的MD5

3.js调试

pCEogBQ.png

调试时,发现传入MD5(假设就是)的参数是几个参数进行了拼接

var token = '75f9f56e124f71ee88ab37eb4c636638' //固定的
var data = '{"itemId":"677739475107","bizCode":"ali.china.tmall","channel":"pc_detail","pageSize":20,"pageNum":2}' //评论相关的参数,包括商品的ID、评论的页数等
var l = 1686368240577   //(new Date()).getTime() //这个就是时间戳而已
var s = '12574478'   //这个参数在js的上面能看到是固定的,多次请求也能发现
var p1 = token + "&" + l + "&" + s + "&" + data   //进行拼接

我们把上面的拼接后的值去MD5加密看看,待会和网页产生的一不一样,就能知道,他的加密是不是就是原生的MD5,而没有进行魔改

pCEoWAs.png

得到d425068cc80e5528314225bc12c7427f,继续步进js调试,可以看到网页生成的sign和原生的md5加密是一样的

pCEofNn.png

4.模拟请求

import json
import re
import time
import requests
import hashlib
from pygments import highlight, lexers, formatters


def get_sign(string):
    return hashlib.md5(string.encode()).hexdigest()


def req(sign,now,data):
    cookies = {
        #添加你自己的cookies
    }

    headers = {
        'authority': 'h5api.m.tmall.com',
        'accept': '*/*',
        'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
        'referer': 'https://detail.tmall.com/',
        'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"Windows"',
        'sec-fetch-dest': 'script',
        'sec-fetch-mode': 'no-cors',
        'sec-fetch-site': 'same-site',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    }

    params = {
        'jsv': '2.7.0',
        'appKey': '12574478',
        't': now,
        'sign': sign,
        'api': 'mtop.alibaba.review.list.for.new.pc.detail',
        'v': '1.0',
        'isSec': '0',
        'ecode': '0',
        'timeout': '10000',
        'ttid': '2022@taobao_litepc_9.17.0',
        'AntiFlood': 'true',
        'AntiCreep': 'true',
        'preventFallback': 'true',
        'type': 'jsonp',
        'dataType': 'jsonp',
        'callback': 'mtopjsonp3',
        'data': data,
    }

    response = requests.get(
        'https://h5api.m.tmall.com/h5/mtop.alibaba.review.list.for.new.pc.detail/1.0/',
        params=params,
        cookies=cookies,
        headers=headers,
    )
    json_str = re.findall(r'mtopjsonp3\((.*?)\)',response.text)
    content = json.loads(json_str[0])
    formatted_json = json.dumps(content, indent = 4, ensure_ascii = False, sort_keys = True)
    colorful_json = highlight(formatted_json, lexers.JsonLexer(), formatters.TerminalFormatter())
    print(colorful_json)

def get_time_13():
    return int(time.time()*1000)

if __name__ == "__main__":
    token = '换成你自己的token'
    pageNum = 1 #1-6页能爬取
    data = f'{"itemId":"677739475107","bizCode":"ali.china.tmall","channel":"pc_detail","pageSize":20,"pageNum":{pageNum}}'
    l = get_time_13()
    s = '12574478'
    p1 = token + "&" + str(l) + "&" + s + "&" + data
    print(p1)
    sign = get_sign(p1)
    req(sign=sign,now=l,data=data)

运行结果如下图:

pCEohhq.png

qq讨论群:529528142

标签:import,抓取,sign,json,评论,淘宝,sec,data,MD5
From: https://www.cnblogs.com/steed4ever/p/17471118.html

相关文章

  • Kali 用 Wireshark 抓取网络数据包
    这个Wireshark是可视化操作工具,可以直接打开。如下图所示,如果是中文版的,可以直接操作:如果是英文版的,就点击Capture后,选择Options打开如下窗口:以上,我们可以选择eth0或Kiioback:io进行抓包,这里每个人的接口可能不一样,选择好后点击开始(start)。开始后,如下图所示:非常简......
  • 1688商品评论的获取以及应用
    如果您是一个1688电商平台的商家,了解并收集消费者对您商品的反馈和评论是非常重要的。使用API接口,您可以轻松地获取商品评论,从而更好地理解消费者的需求和意见。下面是一些获取1688商品评论的步骤。1.注册和获取API接口在1688注册账户并获取API密钥。2.请求API接口使用您......
  • 【视频】Python的天气数据爬虫实时抓取采集和可视化展示
    全文链接:http://tecdat.cn/?p=32715原文出处:拓端数据部落公众号分析师:XiaoyangZhou本文以天气数据实时抓取和可视化展示为主题,旨在探讨如何使用Python编写程序来实现对天气数据的抓取、可视化和预测。从中国气象局天气预报网来获取数据首先,我们需要从中国气象局天气预报网上......
  • python爬虫——爬取网易云音乐评论内容
    一、选题背景  随着互联网的快速发展,网络上的评论文本资源急速增长。面对海量的网络资源信息,如何运用python爬虫技术爬取数据进行数据分析,挖掘评论文本中蕴含的丰富价值。二、大数据分析设计方案1.爬虫网站https://music.163.com/?from=wsdh#/song?id=2052441038 ......
  • 如何通过API接口获取淘宝的商品评论
    在淘宝网上购买产品时,人们通常会查看其他客户留下的评价和评论。这些评价和评论对于购买决策非常有帮助,因为它们提供了其他客户的观点和建议。通过使用淘宝API接口,可以轻松地获取淘宝上任何商品的评论。以下是如何获取淘宝商品评论的步骤:注册账号并创建应用在申请获取淘宝商......
  • python爬虫:爬取b站热门视频的视频、音频、部分评论和弹幕,并将弹幕进行可视化。
    一.选题背景1.背景:爬虫是从互联网上抓取对于我们有价值的信息。选择此题正是因为随着信息化的发展,大数据时代对信息的采需求和集量越来越大,相应的处理量也越来越大,正是因为如此,爬虫相应的岗位也开始增多,因此,学好这门课也是为将来就业打下扎实的基础。bilibili在当今众多视频网站......
  • 如何通过API接口获取淘宝的店铺所有商品详情
    在电子商务领域中,淘宝是亚洲最大的在线交易平台之一,拥有海量的商品资源和消费者。如果你是一名开发者,想要在自己的网站或者APP中嵌入淘宝商品资源,那么你就需要通过淘宝开放平台提供的API接口来获取这些资源。本篇文章将介绍如何通过API接口获取淘宝店铺的所有商品详情信息。第一......
  • 【2023微博评论爬虫】用python爬上千条微博评论,突破15页限制!
    您好,我是@马哥python说,一枚10年程序猿。一、爬取目标前些天我分享过一篇微博的爬虫:马哥python说:【python爬虫案例】爬取微博任意搜索关键词的结果,以“唐山打人”为例但我的学习群中的小伙伴频繁讨论微博评论的爬取,所以,我们再分享这篇微博评论的爬虫。注意区分这两个爬虫:上次......
  • 淘宝母婴购物数据可视化分析
    数据来源于阿里天池:淘宝母婴购物数据可视化分析_学习赛_赛题与数据_天池大赛-阿里云天池(aliyun.com)Ali_Mum_Baby数据集包含脱敏后抽样淘宝母婴购物数据,由淘宝网提供。本次可视化分析的目的是对用户行为数据进行分析,使用Python、Numpy、Pandas和Matplotlib等工具完成可视化......
  • 使用Getdata软件抓取曲线数据
    1.打开Getdata,点击“File”--->“OpenImage”注:图片格式尽量为jpg,当然tifbmppcx也可以。2.定义x,y坐标光标点原点--->右击--->"SetXmin"--->设置Xmin值(这里我随便取的,如果要修改,可以:“Operations”--->“Adjustthescale”)或者直接点击小图标。光标点x末......