当前位置: 首页 > news >正文

python获取某电商平台口红数据并制作词云

目录标题

      • 前言
      • 开发环境:
      • 模块使用
      • 数据来源分析
      • 代码展示
        • 获取数据
        • 制作词云
      • 尾语 💝

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

开发环境:

  • Python 3.8

  • Pycharm

模块使用

  • requests

  • jieba 结巴分词

  • wordcloud 词云

第三方模块安装:

win + R 输入cmd 输入安装命令 或 在pycharm中点击Terminal(终端) 输入安装命令

如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:

pip install -i https://pypi.doubanio.com/simple/ requests

数据来源分析

明确需求 <数据来源分析>

  • 采集数据是什么东西? 通过那个url地址得到想要数据的内容

  • 抓包分析: 浏览器自带工具 --> 开发者工具

    I. F12 或者 鼠标右键点击检查 选择 network 点击第二页

    II. 复制评论内容, 在开发者工具里进行搜索, 可以直接找对应评论数据包

代码展示

获取数据

1. 发送请求

请求链接

url = 'https://****/comment/productPageComments.action'

请求参数 --> 字典数据类型 构建完整键值对

data = {# 'callback': 'fetchJSON_comment98','productId': '100029079354','score': '0','sortType': '5','page': page,'pageSize': '10','isShadowSku': '0','rid': '0','fold': '1',
}

模拟浏览器 --> headers 请求头

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}

发送请求 requests 模块 get 方法<请求方式>

等号左边: url/params/headers 属于get函数里面形式参数 等号右边 url/data/headers 传入进去参数/变量

response = requests.get(url=url, params=data, headers=headers)

2. 获取数据, 服务器返回响应数据

  • response 响应对象

  • response.text 获取响应文本数据

  • response.json() 获取响应json字典数据

3. 解析数据

字典数据类型: 通过键值对提取数据内容 <字典取值>

for循环遍历 把列表里面元素一个一个提取出来

for i in response.json()['comments']:content = i['content']print(content)

4. 保存数据

with open('口红评论.txt', mode='a', encoding='utf-8') as f:

写入数据内容

    f.write(content)f.write('\n')

制作词云

导入所需模块

# 导入结巴分词  jieba 模块国人开源的
import jieba
# 导入词云
import wordcloud
# 导入读取图片
import imageio
# 读取图片内容
py = imageio.imread('img\\矢量图5.png')

读取文件 返回对象 mode 方式模式 r 读 a追加写入保存 mode 默认是r

f = open('口红评论.txt', encoding='utf-8')

读取内容

text = f.read()

分词 --> 把完整一句话分成很多个单词

string = ' '.join(jieba.lcut(text))

词云图 配置

wc = wordcloud.WordCloud(width=1000, # 宽height=700,  # 高font_path='msyh.ttc', # 词云字体# 设置停用词, 把没有词汇, 停用stopwords={'的', '了', '很', '也'},# 设置背景颜色源码、解答、资源、数据集+V:pytho8987# background_color='pink',contour_width=5,contour_color='pink',mask=py
)

string 数据传入进去

wc.generate(string)

导入词云图

wc.to_file('有形状的词云黑.png')
print(string)

尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

http://www.lryc.cn/news/69977.html

相关文章:

  • 阿里成立AIDC,用“增长”解题国际化
  • 全面理解:在计算机科学中同步、异步、并行、并发,他们之间到底有什么区别,如果正确更好的区分它们?
  • 9、Ray核心框架介绍
  • 【华为OD机试python】工单调度策略【 2023 Q1 A卷|100分】
  • [论文阅读72]Parameter-Efficient Transfer Learning for NLP
  • 0基础转行居然拿到9.5K!尘埃深处是繁花,强者从未停下!
  • 软考初级程序员上午单选题(13)
  • 【WSN覆盖】基于麻雀搜索算法的三维无线传感器网络覆盖优化 三维WSN覆盖优化【Matlab代码#26】
  • 【学习日记2023.5.20】 之 菜品模块完善
  • MySQL高级SQL语句
  • rem和em的区别和使用场景,以及如何在实际开发中灵活运用它们
  • JDK源码阅读环境搭建
  • 基本定时器工作模式
  • 【华为OD机试真题2023B卷 JAVA】报文重排序
  • 【Docker】- 02 Docker-Compose
  • 工业相机的Pixel Binning和Pixel Skipping
  • c++ 11标准模板(STL) std::set(八)
  • linux服务器断电重启后,发现时间误差八小时
  • 兼容人大金仓,异常信息报错解决大全
  • 短睡眠 堀大辅 超短眠 人生更丰富
  • 私有GitLab仓库 - 本地搭建GitLab私有代码仓库并随时远程访问「内网穿透」
  • Debezium系列之:Debezium镜像仓库Quay.io,使用Debezium镜像仓库的方法和案例
  • 文心一言和ChatGPT最全对比
  • 龙芯2K1000实战开发-平台介绍
  • C++ map用法总结(整理)
  • 面向对象的第二个基本特征:继承011026
  • 机器学习项目实战-能源利用率 Part-3(特征工程与特征筛选)
  • WebSocket的那些事(2-实操篇)
  • BurpSuite—-Target模块(目标模块)
  • 部门来了个测试开发,听说是00后,上来一顿操作给我看呆了...