Python批量采集某东评论,实现可视化分析

女朋友没事就喜欢网购,买一大堆又不用,总说不合适,为了不让她花冤枉钱,于是我决定用Python写一个采集商品评论的脚本,然后对商品进行分析,这样就不怕踩到坑了!

让我们直接开始本次操作

准备工作

环境安装

  • Python 3.10
  • Pycharm

模块使用

  • 采集数据模块
    -DrissionPage -> pip install DrissionPage
    -csv
    -time
  • 数据可视化
    -pandas -> pip install pandas
    -pyecharts -> pip install pyecharts
    -jieba -> pip install jieba
    -wordcloud -> pip install wordcloud

源码和视频讲解都打包好了,为了让大家更好的学会本次内容,我加班熬夜录制了详细的视频讲解,希望对大家有帮助。

直接文末名片点一下自取即可

基本流程

一、数据来源分析

1.明确需求

明确采集的网站以及数据内容
网址: https://****/10088121691070.html#comment
数据: 评论相关内容

2.抓包分析

通过浏览器开发者工具分析对应数据位置

  • 打开开发者工具
    • F12 / 右键点击检查选择 network 网络刷新网页
  • 通过关键字搜索找到对应数据位置
  • 关键字: 需要什么数据就搜什么数据

数据包地址: https://api.***/

二. 代码实现步骤

requests数据请求

基本步骤: (requests)

1.发送请求: 模拟浏览器对于url地址发送请求
2.获取数据: 获取服务器返回响应数据
3.解析数据: 提取我们需要的数据内容
4.保存数据: 把提取的数据保存本地文件数据包地址: 参数 h5st (加密)
- 如果需要用requests进行数据获取, 是需要进行逆向解密 (难度)

drissionpage自动化模块

模拟人的行为对于浏览器进行操作: 点击 输入 拖拽 获取数据

  1. 打开浏览器
  2. 监听数据包 -> 直接监听数据链接
    -看数据包是否加载
    -监听数据在执行动作之前
  3. 访问网站
  4. 直接获取响应数据
  5. 解析数据
  6. 保存数据

准备工作

新建一个临时 py 文件,并输入以下代码,填入您电脑里的 Chrome 浏览器可执行文件路径,然后运行。

from DrissionPage import ChromiumOptionspath = r'D:\Chrome\Chrome.exe' # 请改为你电脑内Chrome可执行文件路径
ChromiumOptions().set_browser_path(path).save()

这段代码会把浏览器路径记录到配置文件,今后启动浏览器皆以新路径为准。
另外,如果是想临时切换浏览器路径以尝试运行和操作是否正常,可以去掉 .save() ,以如下方式结合第 步的代码。

from DrissionPage import ChromiumPage, ChromiumOptionspath = r'D:\Chrome\Chrome.exe' # 请改为你电脑内Chrome可执行文件路径
co = ChromiumOptions().set_browser_path(path) page = ChromiumPage(co) page.get('http://DrissionPage.cn')

csv保存数据基本格式

根据你获取的数据不同:
fieldnames 根据提取数据保存在字典中键
encoding=‘utf-8’
如果使用utf-8打开表格文件出现乱码, 改成utf-8-sig

# 导入csv模块 import csv # 创建文件对象
f = open('data.csv', mode='w', encoding='utf-8', newline='') # 字典写入方法
csv_writer = csv.DictWriter(f, fieldnames=['昵称','地区','产品','时间','评论内容'])
# 写入表头 csv_writer.writeheader() """
中间发送请求/获取数据/解析数据代码内容
"""
# 数据保存字典
dit = {} # 写入数据
csv_writer.writerow(dit)

json字典取值

# 键值对取值: 根据冒号左边的内容[键], 提取冒号右边的内容[值]dit = {'姓名': '自游', '信息':{'性别':'男', '爱好': '无'}, '标签': ['1', '2']}
提取性别信息
dit['信息']['性别']
dit['标签'][0]

数据可视化

pyecharts可视化

官方文档: https://gallery.pyecharts.org/#/README

文档中提供非常多可视化模版- 柱状图 / 折线图 / 饼图 / 热力图 / 箱形图...
只需要对于数据进行替换


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python及Jupyter-Notebook安装

来源: “码农不会写诗”公众号 链接:Python及Jupyter-Notebook安装 文章目录 01 Python安装1.1 下载安装包1.2 双击安装包,开始安装1.3 选择安装配置1.4 选择需要安装的Optional Feature,点击Next1.5 选择需要安装的Advanced Feat…

Apache DolphinScheduler Worker Task执行原理解析

大家好,我是蔡顺峰,是白鲸开源的高级数据工程师,同时也是Apache DolphinScheduler社区的committer和PMC member。今天我要分享的主题是《Worker Task执行原理》。 整个分享会分为三个章节: Apache DolphinScheduler的介绍Apache …

Python3网络爬虫开发实战(3)网页数据的解析提取

文章目录 一、XPath1. 选取节点2. 查找某个特定的节点或者包含某个指定的值的节点3. XPath 运算符4. 节点轴5. 利用 lxml 使用 XPath 二、CSS三、Beautiful Soup1. 信息提取2. 嵌套选择3. 关联选择4. 方法选择器5. css 选择器 四、PyQuery1. 初始化2. css 选择器3. 信息提取4. …

一步步理清开源路径规划导航引擎GraphHopper

一步步理清开源路径规划导航引擎GraphHopper,学习应用 GraphHopper简介 源码用 Java 编写,开发人员可以通过 Maven 轻松上手。可以用作** Java 库**来计算两个或多个点之间路线的距离、时间、逐向指示和许多道路属性。可以用作独立的 Web 服务器来计算…

CLI是命令行界面(Command-Line Interface)的缩写

CLI是命令行界面(Command-Line Interface)的缩写。它是一种用户界面,允许用户通过键盘输入文本命令来与计算机进行交互。CLI在图形用户界面(GUI)普及之前是最常用的用户界面类型。 CLI的特点: 高效性&…

CentOS下原生态安装mysql,推荐yum

mysql 是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一,本文将介绍如何在 CentOS 7.x 中安装 mysql 。 安装mysql mysql 的安装方法可以通过以下几种方式进行: 1、通过第三方面板安装 mysql 2、通过 yum 命令安装 mysql 3、…

计算R velocity的方法和流程(CellRank2)

愿武艺晴小朋友一定得每天都开心 第一步:拿到cellranger count的文件夹; 运行cellranger count(这个得提前准备:R1和R2的fastq.gz文件 & 鼠的参考基因组文件) wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-mm10-2020-A.tar.gz 最后会出现这个:Pipes…

C++简单实现消息队列

简介 消息队列是一种应用间的通讯方式,消息发送后可以立即放回,由消息系统来确保消息的可靠传递。消息发布者只需要将消息发布到消息队列中,而不需要管谁来取。消息使用者只管从消息队列中取消息而不管谁发布的。这样发布者和使用者都不同知…

uniapp文件上传前后端代码展示

使用uniapp做文件上传的时候&#xff0c;可以使用系统提供的接口进行文件上传 前端部分 前端组件代码 使用的是uview的上传组件 <u-upload id"selectPhoto" :style"{display:selectPhotoDisplay}" :useBeforeRead"true"afterRead"aft…

21.发布确认模式-高级

问题 生产环境中由于一些不明原因&#xff0c;导致rabbitmq重启&#xff0c;在重启的期间生产者消息投递失败&#xff0c;导致消息丢失&#xff0c;需要手动处理恢复。那么如何才能进行rabbitmq的消息可靠性投递&#xff1f;特别是在极端的情况&#xff0c;rabbitmq集群不可用…

Optuna包中TPE算法(代码解析)

前言 Optuna是一个自动超参数优化软件框架&#xff0c;专为机器学习而设计。Github项目地址 TPE&#xff08;Tree-structured Parzen Estimator&#xff09;是一种用于超参数优化的算法&#xff0c;它被广泛应用于机器学习模型中。TPE 算法基于贝叶斯优化技术&#xff0c;特别…

Python 教程(六):函数式编程

目录 专栏列表前言函数定义参数返回值 示例函数类型普通函数空函数匿名函数&#xff08;Lambda 函数&#xff09;嵌套函数函数装饰器高阶函数 函数参数位置参数默认参数可变位置参数可变关键字参数 函数属性和方法__name____doc__func.__dict__func.__defaults__func.__annotat…

算法工程师第二十二天(491.递增子序列 46.全排列 47.全排列 II )

参考文献 代码随想录 一、非递减子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作…

解析大数据分析行业的现状与前景:全球视角下的中国力量

目录 写在开头1、全球大数据分析趋势&#xff1a;引领潮流的先行者2、中国大数据分析现状&#xff1a;后起之秀的强劲崛起3、岗位分类与技能需求&#xff1a;大数据从业者的职业版图3.1. 数据科学家 (Data Scientist)3.2. 数据产品和项目管理岗位3.3. 数据工程师 (Data Enginee…

黑马头条Day11- 实时计算热点文章、KafkaStream

一、今日内容 1. 定时计算与实时计算 2. 今日内容 KafkaStream 什么是流式计算KafkaStream概述KafkaStream入门案例SpringBoot集成KafkaStream 实时计算 用户行为发送消息KafkaStream聚合处理消息更新文章行为数量替换热点文章数据 二、实时流式计算 1. 概念 一般流式计…

4、Python+MySQL+Flask的文件管理系统【附源码,运行简单】

4、PythonMySQLFlask的文件管理系统【附源码&#xff0c;运行简单】 总览 1、《文件管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 注册2.3 个人中心界面2.4 文件上传界面2.5 其他功能贴图 3、下载 总览 自己做的项目&#xff0c;禁止转载&#xff0c…

AI学习指南机器学习篇-标签传播算法的参数与调优

AI学习指南机器学习篇-标签传播算法的参数与调优 标签传播算法是一种常用的无监督学习算法&#xff0c;用于发现数据中的聚类结构。在应用标签传播算法时&#xff0c;合理地选择和调整参数可以对算法的效果产生重要影响。本文将介绍标签传播算法中的参数&#xff0c;并解释如何…

UART 通信协议

文章目录 一 简介二 电平标准三 引脚定义四 数据格式五 波特率 一 简介 ​ UART (Universal Asynchronous Receiver/Transmitter)&#xff0c;通用异步收发器&#xff0c;是一种串行、异步、全双工通信协议。 串行&#xff1a;利用一条传输线&#xff0c;将数据一位一位地传送…

【七】Hadoop3.3.4基于ubuntu24的分布式集群安装

文章目录 1. 下载和准备工作1.1 安装包下载1.2 前提条件 2. 安装过程STEP 1: 解压并配置Hadoop选择环境变量添加位置的原则检查环境变量是否生效 STEP 2: 配置Hadoop2.1. 修改core-site.xml2.2. 修改hdfs-site.xml2.3. 修改mapred-site.xml2.4. 修改yarn-site.xml2.5. 修改hado…