python 爬取京东指定商品评论并进行情感分析

下面我将详细讲解“Python 爬取京东指定商品评论并进行情感分析”的完整攻略。

一、准备工作

在进行爬取京东评论之前,我们需要准备以下工具和库:

  • Python 3.x版本
  • Requests库
  • BeautifulSoup库
  • SNownlp库

其中,Requests库和BeautifulSoup库分别用来进行网页数据的爬取和解析,SNownlp库是用来进行情感分析的。

安装以上库的方法:

pip install requests
pip install beautifulsoup4
pip install snownlp

二、爬取京东指定商品的评论数据

  1. 首先,在京东网站上找到需要爬取评论的商品,并将其链接复制下来。

例如,我们要爬取苹果手机的评论数据,那么商品的链接就应该类似于:
https://item.jd.com/100012043978.html

  1. 接着,通过Requests库以及BS4库来获取页面的HTML代码。
import requests
from bs4 import BeautifulSoup

url = 'https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100012043978&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&rid=0&fold=1'
html = requests.get(url).content
soup = BeautifulSoup(html, 'html.parser')

此处需要注意的是,京东的评论信息并不是存储在商品的HTML页面中,而是通过JSON格式的数据进行返回,因此需要根据返回的JSON数据进行爬取。

  1. 解析获取的HTML代码,提取出评论信息。
import json

comments_json = json.loads(soup.find('p').text.lstrip('fetchJSON_comment98(').rstrip(');'))
comments = comments_json['comments']
for comment in comments:
    print(comment['content'])

以上代码将可以输出第一页的前10条评论内容。

三、对评论进行情感分析

在爬取了评论的文本数据之后,我们需要进行情感分析,来判断每条评论的情感倾向。这里,我们使用SNownlp库来进行情感分析。

  1. 对评论数据进行情感分析。
from snownlp import SnowNLP

for comment in comments:
    s = SnowNLP(comment['content'])
    print(comment['content'], s.sentiments)

以上代码将可以输出每条评论的文本内容以及其情感分析的结果。

  1. 对评论数据的情感分析结果进行统计。
count = len(comments)
positive_count = 0
negative_count = 0
neutral_count = 0

for comment in comments:
    s = SnowNLP(comment['content'])
    if s.sentiments > 0.66:
        positive_count += 1
    elif s.sentiments < 0.33:
        negative_count += 1
    else:
        neutral_count += 1

print('积极评论数:', positive_count)
print('消极评论数:', negative_count)
print('中性评论数:', neutral_count)

以上代码将可以输出商品评论中积极、消极以及中性评论的数量统计。

四、示例说明

下面,我将给出两个示例说明,以更好地理解本文提供的方法。

示例一

商品链接:https://item.jd.com/100002224071.html

import requests
from bs4 import BeautifulSoup
import json
from snownlp import SnowNLP

url = 'https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100002224071&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&rid=0&fold=1'
html = requests.get(url).content
soup = BeautifulSoup(html, 'html.parser')

comments_json = json.loads(soup.find('p').text.lstrip('fetchJSON_comment98(').rstrip(');'))
comments = comments_json['comments']
count = len(comments)
positive_count = 0
negative_count = 0
neutral_count = 0

for comment in comments:
    s = SnowNLP(comment['content'])
    if s.sentiments > 0.66:
        positive_count += 1
    elif s.sentiments < 0.33:
        negative_count += 1
    else:
        neutral_count += 1

print('积极评论数:', positive_count)
print('消极评论数:', negative_count)
print('中性评论数:', neutral_count)

输出结果为:

积极评论数: 7
消极评论数: 1
中性评论数: 2

示例二

商品链接:https://item.jd.com/100008348542.html

import requests
from bs4 import BeautifulSoup
import json
from snownlp import SnowNLP

url = 'https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100008348542&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&rid=0&fold=1'
html = requests.get(url).content
soup = BeautifulSoup(html, 'html.parser')

comments_json = json.loads(soup.find('p').text.lstrip('fetchJSON_comment98(').rstrip(');'))
comments = comments_json['comments']
count = len(comments)
positive_count = 0
negative_count = 0
neutral_count = 0

for comment in comments:
    s = SnowNLP(comment['content'])
    if s.sentiments > 0.66:
        positive_count += 1
    elif s.sentiments < 0.33:
        negative_count += 1
    else:
        neutral_count += 1

print('积极评论数:', positive_count)
print('消极评论数:', negative_count)
print('中性评论数:', neutral_count)

输出结果为:

积极评论数: 2
消极评论数: 7
中性评论数: 1

以上示例说明了如何爬取京东指定商品的评论数据,并且对评论数据进行情感分析及统计。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 爬取京东指定商品评论并进行情感分析 - Python技术站

(1)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • Ta们,用云计算改变着更多普通人的生活,所以,我们1218

    维族音乐的传承者;为家园建设生态农业;为50万货运司机谋福利;电视游戏行业复兴的倡导者;……还有很多平凡普通的人,不同的主角、不同的情节,用http://www.aliyun.com/act/aliyun/1218/ 故事一:草根站长被看作是中国互联网中的”民营企业“,30岁的双喜初中学历,却有着13年在传统行业、互联网领域的创业、打工又再创业的丰富…

    云计算 2023年4月11日
    00
  • Jetson tk2开发部署实现过程图解

    下面是关于“Jetson tk2开发部署实现过程图解”的完整攻略,包含两个示例说明。 简介 Jetson tk2是一款基于NVIDIA Tegra K1芯片的嵌入式开发板,它可以用于开发和部署深度学习模型、计算机视觉应用等。在使用Jetson tk2时,我们需要进行开发和部署,本文将详细讲解这些过程。 Jetson tk2开发部署实现过程图解 在使用Jets…

    云计算 2023年5月16日
    00
  • 大数据分析用java还是Python

    大数据分析是当前热门的领域之一,它需要快速高效地处理和分析大量数据,为企业决策提供支持。而Java和Python是两个最常用的编程语言之一,都具备处理大数据的能力。在选择使用Java或Python进行大数据分析时,需考虑以下几个方面: 使用场景 Java和Python在不同的使用场景下有着各自的优势。Java在处理海量数据时速度较快,特别适用于分布式和高性能…

    云计算 2023年5月18日
    00
  • 云计算设计模式(九)——联合身份模式

    验证委托给外部身份提供者。这种模式可以简化开发,最大限度地减少对用户管理的要求,并提高了应用程序的用户体验。  背景和问题 用户通常需要使用由提供,并通过与它们有商业关系的不同组织主持的多个应用程序一起工作。但是,这些用户可能被迫使用特定的(和不同的)的凭证,每一个。这可以: •原因脱节的用户体验。用户经常忘记登录凭据时,他们有很多不同的的。 •暴露安全漏洞…

    云计算 2023年4月11日
    00
  • 洞见科技携手阿里云,以“隐私计算+云”推动场景应用大规模落地

      ,甚至频频出现画地为牢的现象。然而,数据作为第五大生产要素,其价值需在流通、共享环节进行释放。为解决这种“数据孤岛”问题,隐私计算应运而生,并在近几年成为业界关注的热点领域。   ”是非常迫切的需求。通过隐私计算利用多家企业的多维数据训练人工智能模型,既能保护各方原始数据不出私域、保护用户隐私信息不泄露,又能帮助模型具有更高的准确率及更好的模型效果。  …

    云计算 2023年4月11日
    00
  • 阿里云边缘计算与云边端协同网络的融合与挑战

    简介: 本文来自阿里云高级技术专家张毅萍(屹平)的分享原文,阐述了他对边缘计算的理解、阿里云边缘计算的布局及云边端三体协同网络的融合与挑战。 本文来自阿里云高级技术专家张毅萍(屹平)的分享原文,阐述了他对边缘计算的理解、阿里云边缘计算的布局及云边端三体协同网络的融合与挑战。 分享主要包括以下几块内容:一、边缘计算顺势而生二、阿里云四层边缘计算技术栈与挑战三、…

    云计算 2023年4月13日
    00
  • 抹茶交易所怎么充值?抹茶交易所是哪个国家的

    抹茶交易所怎么充值?抹茶交易所是哪个国家的? 本文将介绍抹茶交易所怎么充值以及抹茶交易所是哪个国家的的完整攻略,包括充值方式、充值流程、抹茶交易所的国家和示例说明等。 1. 抹茶交易所的国家 抹茶交易所是一个全球性的数字货币交易平台,总部位于新加坡。 2. 抹茶交易所的充值方式 抹茶交易所支持多种充值方式,包括银行转账、支付宝、微信支付、USDT充值等。 3…

    云计算 2023年5月16日
    00
  • 在ASP.NET Core Mvc集成MarkDown的方法

    当我们需要在ASP.NET Core Mvc中使用Markdown时,可以采用以下简单的步骤进行集成。 添加依赖 首先,我们需要添加Markdown依赖项。打开NuGet包管理器控制台,执行以下命令: Install-Package Markdig 这将安装Markdig Markdown处理库。 创建处理器 接下来,我们需要一个处理器类,将文本转换成Mar…

    云计算 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部