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

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈: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()

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

👇👇👇关注公众号,回复 “手机评论抓取” 获取源码👇👇👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米码收割机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值