【python】python手机评论抓取+情感分析(python代码+报告)

news2024/11/20 10:40:31

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。

【python】python手机评论抓取+情感分析(python代码+报告)


0. 需求分析

1)抓取评论数据
2)情感分析,统计词频
3)分析内容:https://item.jd.com/100011172363.html

在这里插入图片描述


1. 代码分析

该代码是一个简单的数据获取和分析程序。它包含以下几个部分:

1.1 导入必要的库

代码开始导入了一些必要的库,包括pymysql用于数据库连接,re用于正则表达式匹配,requests用于发送HTTP请求,collections用于计数,textblob用于文本情感分析,matplotlib用于绘图。

import pymysql
import re
import requests
from collections import Counter
from textblob import TextBlob
import matplotlib.pyplot as plt

1.2 write_data函数

该函数用于将文本数据写入数据库。它首先使用pymysql库建立与数据库的连接,然后执行插入语句将文本数据写入数据库表中。

def write_data(text):
   # 连接数据库
   cnx = pymysql.connect(host='127.0.0.1', user='root', password='root', db='huawei')
   # 创建游标对象
   cursor = cnx.cursor()
   # # 执行查询
   insert_sql = "INSERT INTO customers (content) VALUES (%s)"
   cursor.execute(insert_sql, (text,))

   # 提交事务
   cnx.commit()

   # 关闭游标和连接
   cursor.close()
   cnx.close()

1.3 DataFetcher类

该类用于从指定URL获取数据。它通过发送HTTP请求到指定的URL,并使用requests库获取响应。如果响应的状态码为200,表示请求成功,然后从响应内容中使用正则表达式提取文本数据。将提取的文本数据写入到common.txt文件中,并调用write_data函数将数据写入数据库。

class DataFetcher:
   def fetch_data(self):
       url = 'https://xxx.xxx.com/'
       params = {
           'appid': 'item-v3',
           'functionId': 'pc_club_productPageComments',
           'client': 'pc',
           # 省略...
       }

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

       if response.status_code == 200:
           content = response.text
           common = re.findall('"content":"(.*?)"', content)
           with open('common.txt', 'a', encoding='utf-8') as f:
               for text in common:
                   f.write(text + '\n')
                   write_data(text)
           return "\n".join(common)
       else:
           return '请求失败,状态码:' + str(response.status_code)

1.4 save_data函数

该函数用于将数据保存到common.txt文件中。它使用’w’模式打开文件,将数据写入文件。


def save_data(data):
   with open('common.txt', 'w', encoding='utf-8') as f:
       f.write(data)

1.5 show_image函数

该函数用于对数据进行情感分析和关键词提取,并绘制词频统计图表。它首先使用textblob库对数据进行情感分析,计算情感得分。然后使用正则表达式提取关键词,并使用collections库进行计数,找出出现频率最高的前5个关键词。最后使用matplotlib库绘制词频统计图表。

   # 情感分析
   blob = TextBlob(data)
   sentiment_score = blob.sentiment.polarity

   # 关键词提取
   keywords = re.findall(r'\b\w+\b', data)
   keyword_counts = Counter(keywords).most_common(5)

   # 绘制词频统计图表
   keywords, counts = zip(*keyword_counts)
   plt.figure(figsize=(8, 6))
   plt.bar(keywords, counts)
   plt.title('Top 5 Keywords')
   plt.xlabel('Keywords')
   plt.ylabel('Count')
   plt.xticks(rotation=45)
   plt.show()

提取关键词:
在这里插入图片描述

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

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

相关文章

1.8 运用C编写ShellCode代码

在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的MessageBox弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,…

Linux —— 进程介绍

目录 一,进程介绍 二,进程使用 进程查看 通过系统调用获取进程标识符 通过系统调用创建进程 fork 一,进程介绍 进程是正在执行的程序或命令,每个进程都是一个运行的实体或程序的执行实例,有自己的地址空间&#x…

RNA病毒基因组的重头组装-内含tophat2报错的快速解决办法-CPIV3数据分析-2023-07-13

1、使用Trim Galore软件对两次数据进行质控,去掉20bp以下的reads vim新建RNA_seq_script_1对CPIV3测序数据进行质控分析 #!/bin/bash # 上面一行宣告这个script的语法使用bash语法,当程序被执行时,能够载入bash的相关环境配置文件。 # Prog…

Java 核心技术 卷I 第4章 对象与类

第4章 对象与类 4.1 面向对象程序设计概述 面向对象程序设计(OOP)是当今主流的程序设计范型。 Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。 面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和…

云计算相关概念

文章目录 一、云计算的三种部署模式:公有云、私有云、混合云--区别和特性二、华为云:简介、主要业务、特点和优势、不同场景和行业中的应用三、华为云-三剑客:IaaS、PaaS、SaaS 一、云计算的三种部署模式:公有云、私有云、混合云–…

驱动程序——字符设备驱动框架

文章目录 编写驱动程序的步骤代码hello_drv.chello_drv_test.c驱动模块代码编译(编写Makefile,编译时间短)驱动模块代码编译(修改Makefile,编译时间长)测试 应用调用open函数打开文件应用调用open函数打开设…

学习使用FAsyncTask执行异步任务

目标 要想在另一个线程中执行代码,使用FRunnable是一种方式。而使用FAsyncTask是另一种方式(这也是UE的DDC相关代码中所使用的方式)。 本篇尝试运行一个 FAsyncTask 的最简单的例子。 1. FAsyncTask 对于任务类的要求 FAsyncTask是一个类…

SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【4】-O3 不支持 编译失败

gcc -O3 编译失败 结论:默认情况下SPEC CPU 2006 1.2 不支持 gcc -O3编译参数。

谈 Delphi 中 JSON 的简便操作(非常简单)

我曾有讲过Delphi操作JSON的方法,特别是这一篇【delphi】类和记录的 helpers(助手)。但是因为当时是主要介绍的是Delphi的Helper,大家可能并没注意到Delphi中JSON的简便操作方法。 早期Delphi并没有自己的JSON操作库,大…

51. N 皇后 (递归+回溯)

题目链接:力扣 解题思路:递归回溯,n个皇后不能在同一行,同一列,同一斜线上,需要将n个皇后放在n*n的棋盘上,所以棋盘的每一行一定有一个皇后,因此可以第一行开始,在当前行…

计算机毕设 大数据电商用户行为分析及可视化

文章目录 1. 数据集说明2. 数据处理2.1 数据导入2.2 数据清洗 3.数据分析可视化3.1 用户流量及购物情况3.2 用户行为转换率3.3 用户行为习惯3.4 基于 RFM 模型找出有价值的用户3.5 商品维度的分析 4 最后 1. 数据集说明 这是一份来自淘宝的用户行为数据,时间区间为…

大数据分析平台能为企业带来哪些好处_光点科技

大数据分析平台是近年来迅速发展的一项关键技术,它利用先进的数据处理和分析技术,帮助企业从海量数据中提取有价值的信息和见解。对于企业来说,拥有一个强大的大数据分析平台可以带来许多好处。 首先,大数据分析平台可以帮助企业更…

【ArcGIS微课1000例】0070:制作宾馆酒店分布热度热力图

本文讲解在ArcGIS中,基于长沙市酒店宾馆分布矢量点数据(POI数据)绘制酒店分布热力图。 相关阅读: 【GeoDa实用技巧100例】004:绘制长沙市宾馆热度图 【ArcGIS Pro微课1000例】0028:绘制酒店分布热力图(POI数据) 文章目录 一、加载宾馆分布数据二、绘制热度图一、加载宾…

[QT编程系列-11]:C++图形用户界面编程,QT框架快速入门培训 - 5- QT主要控件与自定义控件

目录 5. QT主要控件 5.1 预定义控件 5.2 自定义控件 5.3 用预定义容器橙子和提升自定义控件 5.3 后记 5. QT主要控件 5.1 预定义控件 在Qt中,有许多预定义的控件(Widgets)可用于创建用户界面。这些控件提供了各种常见的用户界面元素&am…

五笔没落之五笔学习热潮

1998年,一个风雨交加的下午,有一个年轻人骑着一辆破旧的自行车来到电脑培训班,学习五笔打字。那时电脑还很贵,他一个月的工资只有几百元,根本买不起电脑,所以选择参加培训班。那时会打字就像现在的硕士生那…

Java----Nacos服务注册

除了通过Eureka,还可以通过我们的Nacos进行注册服务,方法也很简单。 前提!需要开启Nacos服务,在官网中下载对应的压缩包,然后启动,如下windows需要输入命令: startup.cmd -m standalone 然后会…

Qt+C++多线程thread-QThread-QTimer视频-控件动画-混合应用实例

程序示例精选 QtC多线程thread-QThread-QTimer混合应用实例 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<QtC多线程thread-QThread-QTimer混合应用实例>>编写代码&#xff0c…

事务@transactional执行产生重复数据

背景 系统设计之初&#xff0c;每次来新请求&#xff0c;业务层会先查询数据库&#xff0c;判断是否存在相同的id数据&#xff08;id是唯一标识产品的&#xff09;&#xff0c;有则返回当前数据库查到的数据&#xff0c;根据数据决定下一步动作&#xff0c;没有则认为是初次请…

【ArcGIS Pro二次开发】(46):要素类从上到下、从左到右排序

要素类经过编辑之后&#xff0c;【OBJECTID】字段会变得不规律。应部分网友要求&#xff0c;做了这个从上到下、从左到右排序的工具。 不过后来在ArcGIS Pro中发现了一个【排序】工具&#xff0c;已经可以完美实现这个功能需求&#xff0c;发现自己做了个白工。 不过做了不能白…

火山引擎徐广治:边缘云,下一代云计算

6月30日&#xff0c;2023稀土开发者大会在北京举办。大会以「代码不止&#xff0c;掘金不停」为主题&#xff0c;与上百位海内外技术专家一起剖析行业最新动态&#xff0c;为一直在路上的技术开发者们&#xff0c;拓宽技术视野&#xff0c;传播前沿的技术理念。火山引擎边缘云资…