设为首页 加入收藏

TOP

Python获取“双十一”商品评论,做词云分析,一个简单的案例教学
2023-07-25 21:23:00 】 浏览:40
Tags:Python 获取 双十一 云分析 简单的

前言

环境使用

  • Python 3.8
  • Pycharm

模块使用

  • requests
  • jieba 结巴分词
  • wordcloud 词云

数据来源分析

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

  • 采集数据是什么东西? 通过那个url地址得到想要数据的内容
  • 抓包分析: 浏览器自带工具 --> 开发者工具
    I. F12 或者 鼠标右键点击检查 选择 network 点击第二页
    II. 复制评论内容, 在开发者工具里进行搜索, 可以直接找对应评论数据包

https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100029079354&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1

发送请求

url = 'https://club.jd.com/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) 

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

  • response 响应对象
  • response.text 获取响应文本数据
  • response.json() 获取响应json字典数据

解析数据

字典数据类型: 通过键值对提取数据内容 <字典取值>
根据冒号左边的内容[键], 提取冒号右边的内容[值]

# for循环遍历 把列表里面元素一个一个提取出来 for i in response.json()['comments']: content = i['content'] print(content) 

保存数据

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={'的', '了', '很', '也'}, # 设置背景颜色 # background_color='pink', contour_width=5, contour_color='pink', mask=py ) # string 数据传入进去 wc.generate(string) # 导入词云图 wc.to_file('有形状的词云黑.png') print(string) 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇pyinstaller和venv的关系 下一篇如何免安装使用 Python?推荐 17 ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目