python爬虫爬抖音小店商品数据+数据可视化
爬虫代码
爬虫代码是我调用的数据接口,可能会过一段时间用不了,欢迎大家留言评论,我会不定时更新
import requests
import time
cookies = {'token': '5549EB98B15E411DA0BD05935C0F225F','tfstk': 'g1vopsc0sQ5SwD8TyEWSTmONZ3cA2u6CReedJ9QEgZ7byzeJYB2HbHn59UKF-Bb2-LpRegdhYZ8l9BBJKIwHfH9-V9n5F36CLV3tBwxWV9smPc5ZXrPVVnSUTjCrIVSuVV3tBxhz090oWUUCxtlcAZSPY_5EmiSGx9SzU9ocuMj_Tz8FLmmcYMzz8_SzuxS5v97e89oD0ZsECRNPWpRw343tphbF6WWfq_bw4a-JjKrhi7tAoJyenIfh7zb0LJJc4nKyrJwi9NR1y1Q9uxelKnSHyZLZQ-XVsCtdxUDuUTd2GL6JHVq1ZebR_KCm_oYGEefwUsqUp3Xhltj2QDF1kKbJ8LfqXRfd3dCNUIhjy6BljeJWrk2e7nK9Fs9nSr7BwG6VX3MunO-PYg5_g5RPkJsqvKPQO_SfmNF7C_i_gRW0kmm06H1PcG_tmmVQO_SfmNnmm5d5ais1W','acw_tc': '0a472f9217345091456398947e0084937b6ae99590d77140bfd1bf4a248a00','Hm_lvt_a19fd7224d30e3c8a6558dcb38c4beed': '1732521967,1733381547,1734087148,1734509413','Hm_lpvt_a19fd7224d30e3c8a6558dcb38c4beed': '1734509413','HMACCOUNT': '21B2E9F3C431CAF6','sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%22nr_7ltg9ho59%22%2C%22first_id%22%3A%2218e5b14d40423b7-08d1278a91f1d-26001b51-3686400-18e5b14d4052309%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E8%87%AA%E7%84%B6%E6%90%9C%E7%B4%A2%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fwww.baidu.com%2F%22%2C%22%24latest_utm_source%22%3A%22baidu%22%2C%22%24latest_utm_medium%22%3A%22cpc%22%2C%22%24latest_utm_campaign%22%3A%22%E6%96%B0%E6%8A%96SEM%22%2C%22%24latest_utm_term%22%3A%22%E6%96%B0%E6%8A%96%22%7D%2C%22%24device_id%22%3A%2218e5b14d40423b7-08d1278a91f1d-26001b51-3686400-18e5b14d4052309%22%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkxZjA4MWE4OGI3ZWYtMDkyZTk1MDhlYjZiZjMtMjYwMDExNTEtMzY4NjQwMC0xOTFmMDgxYTg4YzI1MjkiLCIkaWRlbnRpdHlfbG9naW5faWQiOiJucl83bHRnOWhvNTkifQ%3D%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%24identity_login_id%22%2C%22value%22%3A%22nr_7ltg9ho59%22%7D%7D','NR_MAIN_SOURCE_RECORD': '{"locationSearch":"","locationHref":"https://xd.newrank.cn/goods/hot/salesRank","referrer":"https://www.baidu.com/","source":30000,"keyword":"seo","firstReferrer":"","firstLocation":"","sourceHref":"https://xd.newrank.cn/goods/hot/salesRank"}','auth_n': 'acihS1J+YcZGzUSRFhf1q09q8WdPhLV5Po6LZW6dWxedk67TpkmiwALw2uzOMhVy',
}headers = {'Accept': '*/*','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8','Connection': 'keep-alive',# 'Cookie': 'token=5549EB98B15E411DA0BD05935C0F225F; tfstk=g1vopsc0sQ5SwD8TyEWSTmONZ3cA2u6CReedJ9QEgZ7byzeJYB2HbHn59UKF-Bb2-LpRegdhYZ8l9BBJKIwHfH9-V9n5F36CLV3tBwxWV9smPc5ZXrPVVnSUTjCrIVSuVV3tBxhz090oWUUCxtlcAZSPY_5EmiSGx9SzU9ocuMj_Tz8FLmmcYMzz8_SzuxS5v97e89oD0ZsECRNPWpRw343tphbF6WWfq_bw4a-JjKrhi7tAoJyenIfh7zb0LJJc4nKyrJwi9NR1y1Q9uxelKnSHyZLZQ-XVsCtdxUDuUTd2GL6JHVq1ZebR_KCm_oYGEefwUsqUp3Xhltj2QDF1kKbJ8LfqXRfd3dCNUIhjy6BljeJWrk2e7nK9Fs9nSr7BwG6VX3MunO-PYg5_g5RPkJsqvKPQO_SfmNF7C_i_gRW0kmm06H1PcG_tmmVQO_SfmNnmm5d5ais1W; acw_tc=0a472f9217345091456398947e0084937b6ae99590d77140bfd1bf4a248a00; Hm_lvt_a19fd7224d30e3c8a6558dcb38c4beed=1732521967,1733381547,1734087148,1734509413; Hm_lpvt_a19fd7224d30e3c8a6558dcb38c4beed=1734509413; HMACCOUNT=21B2E9F3C431CAF6; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%22nr_7ltg9ho59%22%2C%22first_id%22%3A%2218e5b14d40423b7-08d1278a91f1d-26001b51-3686400-18e5b14d4052309%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E8%87%AA%E7%84%B6%E6%90%9C%E7%B4%A2%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fwww.baidu.com%2F%22%2C%22%24latest_utm_source%22%3A%22baidu%22%2C%22%24latest_utm_medium%22%3A%22cpc%22%2C%22%24latest_utm_campaign%22%3A%22%E6%96%B0%E6%8A%96SEM%22%2C%22%24latest_utm_term%22%3A%22%E6%96%B0%E6%8A%96%22%7D%2C%22%24device_id%22%3A%2218e5b14d40423b7-08d1278a91f1d-26001b51-3686400-18e5b14d4052309%22%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkxZjA4MWE4OGI3ZWYtMDkyZTk1MDhlYjZiZjMtMjYwMDExNTEtMzY4NjQwMC0xOTFmMDgxYTg4YzI1MjkiLCIkaWRlbnRpdHlfbG9naW5faWQiOiJucl83bHRnOWhvNTkifQ%3D%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%24identity_login_id%22%2C%22value%22%3A%22nr_7ltg9ho59%22%7D%7D; NR_MAIN_SOURCE_RECORD={"locationSearch":"","locationHref":"https://xd.newrank.cn/goods/hot/salesRank","referrer":"https://www.baidu.com/","source":30000,"keyword":"seo","firstReferrer":"","firstLocation":"","sourceHref":"https://xd.newrank.cn/goods/hot/salesRank"}; auth_n=acihS1J+YcZGzUSRFhf1q09q8WdPhLV5Po6LZW6dWxedk67TpkmiwALw2uzOMhVy','Origin': 'https://xd.newrank.cn','Referer': 'https://xd.newrank.cn/','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-site','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36','content-type': 'application/json','gw-c-v': '10000','n-token': '9116298d52d64bbfb2bafa92267f74f2','sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"',
}json_data = {# 'start': 3,'size': 20,'rankDate': '2024-12-17','rankType': '','dateType': '0','cate': {'cate1': '','cate2': '','cate3': '','cate4': '',},'source': '','roomCount': '','awemeCount': '','nature': '','sort': 'sales_money','priceRange': '','bigPromotionStart': '','bigPromotionEnd': '',
}
results=[]
for start in range(1,2):json_data['start']=str(start)time.sleep(2)response = requests.post('https://gw.newrank.cn/api/xd/xdnphb/nr/cloud/douyin/new/rank/hotGoodsSalesRank',cookies=cookies,headers=headers,json=json_data,).json()res_list = response['data']['list']# print(res_list)for data in res_list:result = {"商品名称": data['title'],"商品价格": data['ana_price'],"所属店铺": data['goods_source'],"商品类别": data['productTypeV3'],"商品类目": data['productTypeV2'],"商品种类": data['productTypeV1'],"商品销量": data['add_sales'],"关联直播":data['room_count'],"关联达人":data['user_count'],"关联视频":data['aweme_count'],}results.append(result)print(results)
数据分析可视化
import pandas as pd
import numpy as np
import jieba
import time from pyecharts.charts import Bar,Line,Map,Page,Pie
from pyecharts import options as opts
from pyecharts.globals import SymbolType
data=pd.read_excel('/home/mw/input/douyin9762/抖音近期商品热门商品排行.xlsx')
data.head(20)
data.info()
data.describe()
研究方法
商品类别分析
data["商品类别"].unique()
bar_list=data["商品类别"].value_counts().head(10)
bar_list
# 创建 Bar 实例
bar = Bar()# 添加 X 轴数据和 Y 轴数据
bar.add_xaxis(bar_list.index.tolist())
bar.add_yaxis("商品个数", bar_list.values.tolist())# 设置全局配置项
bar.set_global_opts(title_opts=opts.TitleOpts(title="男女个数", subtitle="数量"),xaxis_opts=opts.AxisOpts(name="商品类别"),yaxis_opts=opts.AxisOpts(name="个数"),
)# 渲染图表到本地 HTML 文件
bar.render_notebook()
通过代码欢迎数据可视化分析可以知道,目前是2024年底近期也是冬天卖羽绒服的是比较赚钱的,也是符合当下的产品,其次买的东西都是衣服方面比较多。
# 商品价格分析
data1["商品价格"]=data1["商品价格"].astype(int)
data1.info()
data1["price_cut"]=pd.cut(data1["商品价格"],bins=[0,500,1000,1500,2000,3000,5000])
data1.head(20)
data1.price_cut.cat.categori
con_data2=data1.copy()
con_data2["price_cut"]=pd.qcut(con_data2["商品价格"],6,labels=['实惠入门', '经济优选', '亲民进阶', '价值之选','舒适尊享','旗舰实惠'])
con_data2.head(10)
pie_list=con_data2.price_cut.value_counts()
pie_list
# 绘制饼图
pie = Pie()
pie.add(series_name="访问来源", data_pair=[list(z) for z in zip(pie_list.index.tolist(),pie_list.values.tolist(),)],radius=["40%", "70%"], # 设置内外半径
)
pie.set_global_opts(title_opts=opts.TitleOpts(title='抖音近期热卖价格状况表现'), legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%'))
pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%"))
pie.set_colors(['#EF9050', '#3B7BA9', '#6FB27C','#CC0033','#003399','#800080'])
pie.render_notebook()
通过数据分析可以知道大部分的羽绒服都是在0-500指间的价格区间,占比在将近百分之20,其次是500-1000之间,对于普通人来说基本就是这个几个区间了,当然因为我拿的数据只有500条,所以可能还是会有误差在这个地方。
con_data2["商品类目"].unique()
bar2_list=con_data2["商品类目"].value_counts().head(10)
bar2_list
# 创建 Bar 实例
line = Line()# 添加 X 轴数据和 Y 轴数据
line.add_xaxis(bar2_list.index.tolist())
line.add_yaxis("商品类目个数", bar2_list.values.tolist())# 设置全局配置项
line.set_global_opts(title_opts=opts.TitleOpts(title="商品类目个数", subtitle="数量"),xaxis_opts=opts.AxisOpts(name="商品类目"),yaxis_opts=opts.AxisOpts(name="商品个数"),
)# 渲染图表到本地 HTML 文件
line.render_notebook()
在抖音小店里面目前女装产品是最多的,比较适合卖衣服这个季节,其次是护肤品这些。
def get_cut_words(content_series):# 读入停用词表stop_words = [] # 添加关键词my_words = ['中长款', '连帽长', '防滑软底', '2024新款'] for i in my_words:jieba.add_word(i) # 分词word_num = jieba.lcut(content_series.str.cat(sep='。'), cut_all=False)# 条件筛选word_num_selected = [i for i in word_num if i not in stop_words and len(i)>=2]return word_num_selected
import jieba
text = get_cut_words(content_series=data["商品名称"])
text[:20]
!pip install stylecloud
import stylecloud
from pathlib import Path
from IPython.display import Image # 用于在jupyter lab中显示本地图片# 绘制词云图
stylecloud.gen_stylecloud(text=' '.join(text),collocations=False,font_path=(r'/home/mw/input/simhei4936/SimHei.ttf'),#2-1字体的Path路径,icon_name='fas fa-heart',size = 578,output_name='抖音商品标题关键字数据可视化.png'
)
Image(filename='抖音商品标题关键字数据可视化.png')
相关文章:

python爬虫爬抖音小店商品数据+数据可视化
爬虫代码 爬虫代码是我调用的数据接口,可能会过一段时间用不了,欢迎大家留言评论,我会不定时更新 import requests import time cookies {token: 5549EB98B15E411DA0BD05935C0F225F,tfstk: g1vopsc0sQ5SwD8TyEWSTmONZ3cA2u6CReedJ9QEgZ7byz…...

关于 覆铜与导线之间间距较小需要增加间距 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/144776995 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...

uniapp中Nvue白屏问题 ReferenceError: require is not defined
uniapp控制台输出如下 exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: require is not defined 或者 exception function:createInstanceContext, exception:white s…...
在 Windows 上,如果忘记了 MySQL 密码 重置密码
在 Windows 上,如果忘记了 MySQL 密码,可以通过以下方法重置密码: 方法 1:以跳过权限验证模式启动 MySQL 并重置密码 停止 MySQL 服务: 打开 命令提示符 或 PowerShell,输入以下命令停止 MySQL 服务&#…...
《PyTorch:从基础概念到实战应用》
《PyTorch:从基础概念到实战应用》 一、PyTorch 初印象二、PyTorch 之历史溯源三、PyTorch 核心优势尽显(一)简洁高效,契合思维(二)易于上手,调试便捷(三)社区繁荣&#…...

前端:改变鼠标点击物体的颜色
需求: 需要改变图片中某一物体的颜色,该物体是纯色; 鼠标点击哪个物体,哪个物体的颜色变为指定的颜色,利用canvas实现。 演示案例 代码Demo <!DOCTYPE html> <html lang"en"><head>&l…...

Java-33 深入浅出 Spring - FactoryBean 和 BeanFactory BeanPostProcessor
点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatisÿ…...

HTML4笔记
尚硅谷 一、前序知识 1.认识两位先驱 2.计算机基础知识 3.C/S架构与B/S架构 4.浏览器相关知识 5.网页相关概念 二、HTML简介 1.什么是HTML? 2.相关国际组织(了解) 3.HTML发展历史(了解)** 三、准备工作 1.常用电脑设置 2.安装Chrome浏览器 四、HTML入门 1.HTML初体验 2.H…...

python报错ModuleNotFoundError: No module named ‘visdom‘
在用虚拟环境跑深度学习代码时,新建的环境一般会缺少一些库,而一般解决的方法就是直接conda install,但是我在conda install visdom之后,安装是没有任何报错的,conda list里面也有visdom的信息,但是再运行代…...

linux-21 目录管理(一)mkdir命令,创建空目录
对linux而言,对一个系统管理来讲,最关键的还是文件管理。那所以我们接下来就来看看如何实现文件管理。当然,在文件管理之前,我们说过,文件通常都放在目录下,对吧?所以先了解目录,可能…...
总结-常见缓存替换算法
缓存替换算法 1. 总结 1. 总结 常见的缓存替换算法除了FIFO、LRU和LFU还有下面几种: 算法优点缺点适用场景FIFO简单实现可能移除重要数据嵌入式系统,简单场景LRU局部性原理良好维护成本高,占用更多存储空间内存管理,浏览器缓存L…...
【Vue】如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程
如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程。 安装 Vuex 首先,在你的 Vue 3 项目中安装 Vuex。可以使用 npm 或 yarn: npm install vuexnext --save # or yarn add vuexnext创建 Store 在 Vue 3 中,你可以使用 creat…...
VSCode 插件开发实战(十五):如何支持多语言
前言 在软件开发中,多语言支持(i18n)是一个非常重要的功能。无论是桌面应用、移动应用,还是浏览器插件,都需要考虑如何支持不同国家和地区的用户,软件应用的多语言支持(i18n)已经成…...

面试241228
面试可参考 1、cas的概念 2、AQS的概念 3、redis的数据结构 使用场景 不熟 4、redis list 扩容流程 5、dubbo 怎么进行服务注册和调用,6、dubbo 预热 7如何解决cos上传的安全问题kafka的高并发高吞吐的原因ES倒排索引的原理 spring的 bean的 二级缓存和三级缓存 spr…...
Python数据序列化模块pickle使用
pickle 是 Python 的一个标准库模块,它实现了基本的对象序列化和反序列化。序列化是指将对象转换为字节流的过程,这样对象就可以被保存到文件中或通过网络传输。反序列化是指从字节流中恢复对象的过程。 以下是 pickle 模块的基本使用方法: …...
Spring Boot对访问密钥加解密——HMAC-SHA256
HMAC-SHA256 简介 HMAC-SHA256 是一种基于 哈希函数 的消息认证码(Message Authentication Code, MAC),它结合了哈希算法(如 SHA-256)和一个密钥,用于验证消息的完整性和真实性。 HMAC 是 “Hash-based M…...
HTML 元素:网页构建的基础
HTML 元素:网页构建的基础 HTML(HyperText Markup Language,超文本标记语言)是构建网页的基石。它定义了网页的结构和内容,而HTML元素则是构成HTML文档的基石。在本篇文章中,我们将深入探讨HTML元素的概念、类型、用法,以及如何在网页设计中有效地使用它们。 什么是HT…...

HEIC 是什么图片格式?如何把 iPhone 中的 HEIC 转为 JPG?
在 iPhone 拍摄照片时,默认的图片格式为 HEIC。虽然 HEIC 格式具有高压缩比、高画质等优点,但在某些设备或软件上可能存在兼容性问题。因此,将 HEIC 格式转换为更为通用的 JPG 格式就显得很有必要。本教程将介绍如何使用简鹿格式工厂…...

爆肝1个月:DDR4 的信号完整性(万字长文SI)
前言: 大学里面,总有很多课程,很浪费时间,学了没点用处,问过老师,为什么信号完整性,示波器使用等课程不开呢,这种是对工作真实有帮助的? 老师:因为老师…...

前端js验证码插件
相关代码,在最上方的绑定资源...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...