您现在的位置是:首页 >技术交流 >python获取某电商平台口红数据并制作词云网站首页技术交流
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('
')
制作词云
导入所需模块
# 导入结巴分词 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)
尾语 ?
要成功,先发疯,下定决心往前冲!
学习是需要长期坚持的,一步一个脚印地走向未来!
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 ?