情感分析实战(中文)-数据获取

news2025/2/26 14:55:32

情感分析实战(中文)-数据获取

背景:该专栏的目的是将自己做了N个情感分析的毕业设计的一个总结版,不仅自己可以在这次总结中,把自己过往的一些经验进行归纳,梳理,巩固自己的知识从而进一步提升,而帮助各大广大学子们,在碰到情感分析的毕业设计时,提供一个好的处理思路,让广大学子们能顺利毕业

废话不多说:该专栏主要有2大主题:

1、中文-情感分析实战:

a) 数据获取篇

b) 数据预处理篇

c) snownlp情感分析篇

d) 无监督学习机器学习聚类篇

e) LDA主题分析篇

f) 社交网络篇

2、英文-情感分析实战:

a) 数据预处理篇

b) snownlp情感分析篇

c) 无监督学习机器学习聚类篇

d) LDA主题分析篇

e) 社交网络篇



目标网站 :马蜂窝(在这里声明一下该爬取数据仅用于学术研究,不对该网站造成任何攻击,各大网友在爬取的过程中,注意素质)

这里选择评论最多的迪士尼

1-1

这里里面的评价便是我们所要获取的内容

1-2

鼠标右键点击检查或者F12

3

找到含有评论的API

4

然后我们来寻找规律

https://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?callback=jQuery18109039283409653498_1653125985557&params=%7B%22poi_id%22%3A%22520%22%2C%22page%22%3A3%2C%22just_comment%22%3A1%7D&_ts=1653126119677&_sn=4810828c84&_=1653126119677
https://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?callback=jQuery18109039283409653498_1653125985557&params=%7B%22poi_id%22%3A%22520%22%2C%22page%22%3A4%2C%22just_comment%22%3A1%7D&_ts=1653126263661&_sn=f1e168c758&_=1653126263661

由这些我们可以看出,其实它们前面的构造都一样,只是在这几个地方不一样

5

而其中A3和A4,这个就是代表的是评论的页数,3就是评论的第三页,4就是评论中的第四页

把这个链接的尾部砍掉

https://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?callback=jQuery18109039283409653498_1653125985557&params=%7B%22poi_id%22%3A%22520%22%2C%22page%22%3A4%2C%22just_comment%22%3A1%7D&

然后把里面的试试看看能不能获取到内容,能的话说明尾部的这些并不重要

6

数据是可以成功获取到了,只是这些数据有些乱接下来我们就要开始整理我们的数据内容了,让这些数据转换,方便我们后续的获取

这里我们首先把一些无效数据给替换掉,方便后续我们对数据进行格式化

这里采用的是正则公式

7

把刚刚前面的那一串jquery…的东西全部给替换掉了,把原来的json格式打印成python的格式,这里保持格式的一致化之后就能获取到中文内容了

然后再用bs4去内容进行定位,获取到时间和正文内容,这里打印一下看看

8

接着我们再对数据进行清洗,删掉文中HTML代码的部分,再用pandas把数据保存为CSV格式

 c = c.replace('<br/>','').replace('\n','').replace('class="rev-txt">','').replace('</p>','').replace('<p','').replace('~','')
        t = t.replace('<span class="time">','').replace('</span>','')

最后看看效果

9

10

内容就这样获取好了,然后其他字段的话,根据自己的需要去添加对应的bs4定位法则即可,这里就不做过多的介绍了

如果是获取多页的内容的话,那么写一个for循环即可,然后把上面提到数字的那个地方进行修改就好了,这样就获取多页内容,具体的尾页的话,需要大家自己去该网站点击末尾然后查看信息即可,再把相应的数字进行修改

11

12

这里是源代码,具体需要的修改的是headers这个部分这里,记得替换成自己的cookie

13

import requests
import time
import json
import pandas as pd
from tqdm import tqdm
from bs4 import BeautifulSoup
import re

headers = {
	#这里根据不同评论的内容,修改不同的URL
    'referer': 'https://www.mafengwo.cn/poi/520.html',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
    #这里换成你自己的
    'cookie': 'xxx',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"',

}


def get_parse(url):
    html = requests.get(url,headers=headers)
    if html.status_code == 200:
        get_html(html)
    else:
        print(html.status_code)

def get_html(html):
    content = html.text
    content = re.sub('jQuery*\d+_*\d+','',content)
    content = content.replace('(', '').replace(');', '')
    content = json.loads(content)

    html1 = content['data']['html']
    soup = BeautifulSoup(html1,'lxml')
    content = soup.select('p.rev-txt')
    time1 = soup.select('div.info.clearfix span.time')
    for p in range(15):
        df = pd.DataFrame()
        c = str(content[p])
        t = str(time1[p])
        c = c.replace('<br/>','').replace('\n','').replace('class="rev-txt">','').replace('</p>','').replace('<p','').replace('~','')
        t = t.replace('<span class="time">','').replace('</span>','')
        df['时间'] = [t]
        df['内容'] = [c]
        df.to_csv('马蜂窝-迪士尼评论.csv',mode='a+',header=None,index=None,encoding='utf-8-sig')



if __name__ == '__main__':
    df1 = pd.DataFrame()
    df1['时间'] = ['时间']
    df1['内容'] = ['内容']
    df1.to_csv('马蜂窝-迪士尼评论.csv', mode='w', header=None, index=None, encoding='utf-8-sig')
    for i in tqdm(range(1,2)):
    	#这个URL记得改成自己想要爬取的网站的URL
        url = 'https://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?callback=jQuery18109039283409653498_1653125985557&params=%7B%22poi_id%22%3A%22520%22%2C%22page%22%3A{}%2C%22just_comment%22%3A1%7D&'.format(i)
        get_parse(url)

以上便是爬取马蜂窝的全部教程,这里再次申明一下,获取该网站的数据仅用于学术研究,不造成任何的商业行为,这里望各位注意素质,切勿对该网站的服务器造成攻击或者商业用途

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

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

相关文章

Ubuntu20、centos7安装部署Gitlab

目录 一、简介 二、安装GitLab 1、安装准备工作 2、安装Gitlab a、安装并配置必要的依赖 b、下载Gitlab c、启动postfix邮件服务&#xff0c;设置开机自启 d、安装Gitlab e、修改gitlab配置文件&#xff08;ip和端口&#xff09; g、更新配置文件并重启 h、通过ip地址加端口进行…

国产力作:全新Excel平台,画表格搭建软件,Access用户:告别VBA

全新Excel平台&#xff0c;功能强大到离谱&#xff1f; 最近&#xff0c;发现了一款新型的软件&#xff0c;而且还是国产的&#xff0c;功能超级强大&#xff0c;用法却很简单。就是感觉非常的厉害&#xff01; 一款全新的Excel平台&#xff0c;但是却跟Excel没有任何联系&am…

webpack.config.js基础配置(五大核心属性)

在上一节webpack零基础入门中我们在安装完webpack 和 webpack-cli依赖之后&#xff0c;直接通过npx webpack ./src/main.js --modedevelopment的方式对src下的js文件进行了打包。 其中的 ./src/main.js: 指定 Webpack 从 main.js 文件开始打包&#xff0c;不但会打包 main.js&a…

A ConvNet for the 2020s

A ConvNet for the 2020s 2020年代的ConvNet https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_A_ConvNet_for_the_2020s_CVPR_2022_paper.pdf Zhuang Liu 1 , 2 ∗ ^{1,2*} 1,2∗ Hanzi Mao 1 ^1 1 Chao-Yuan Wu 1 ^1 1 Christoph Feichtenhofer 1 ^1 1 Trevor Da…

mpls vpn综合实例配置案例

如图1所示&#xff1a; 1、AR4连接公司总部财务部、AR6连接分支机构财务部&#xff0c;AR4和AR6属于vpna&#xff1b; 2、 AR5连接公司总部办公、 AR7连接分支机构办公&#xff0c; AR5和 AR7属于vpnb。 公司要求通过部署BGP/MPLS IP VPN&#xff0c;实现总部和分支机构的安全互…

2023年6月DAMA-CDGA/CDGP数据治理工程师认证到这家

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

CleanMyMac X 4.13.4许可证激活码2023最新免费版

小伙伴们&#xff0c;你们好&#xff0c;今天兔八哥爱分享来聊聊cleanmymac X如何激活&#xff0c;关于cleanmymac的基本情况说明介绍的文章,网友们对这件事情都比较关注&#xff0c;那么现在就为大家来简单介绍下&#xff0c;希望对各位小伙伴们有所帮助。在不断更新的版本中&…

数字化转型的难点是什么?该如何突破?

01为什么要进行数字化转型&#xff1f; 数字化转型不仅是企业提高效率和竞争力的必经之路&#xff0c;也是市场发展趋势的体现。 提升业务效率&#xff1a;数字化转型可以采用自动化流程、数据分析和智能化技术&#xff0c;从而提高企业业务的自动化水平&#xff0c;优化流程…

TLE7244SL-ASEMI代理英飞原装汽车芯片TLE7244SL

编辑&#xff1a;ll TLE7244SL-ASEMI代理英飞原装汽车芯片TLE7244SL 型号&#xff1a;TLE7244SL 品牌&#xff1a;Infineon(英飞凌) 封装&#xff1a;SSOP-24-150mil 类型&#xff1a;电源负载开关 TLE7244SL特性 4个输入引脚&#xff0c;提供灵活的PWM配置 由专用引脚…

XML转换成JSON

说在前面 相信大家对 XML 都不会很陌生了&#xff0c;XML 被设计用来结构化、存储以及传输信息。最近在开发过程中发现&#xff0c;有一些旧接口返回的数据格式即是 XML 的格式&#xff0c;因此需要我们对返回的 XML 数据进行解析&#xff0c;转换成我们好处理的 JSON 数据结构…

SCI论文去哪里查找下载

SCI论文&#xff0c;是指被SCI(Scientific Citation Index)&#xff0c;即科学引文索引所收录的SCI期刊上刊登的学术期刊论文。如何查找下载SCI论文呢&#xff1f;请看下面讲解。 Web of Science数据库 Web of Science是获取全球学术信息的重要数据库&#xff0c;它收录了全球…

vue篇——vue原理以及实现

vue 官网解释Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架&#xff0c;简单易学、双向数据绑定、组件化。数据和结构的分离、虚拟DOM、运行速度快。链接 它有以下的特性&#xff1a;1.轻量级的框架&#xff1b;2.双向数据绑定&#xff1b;3…

MySQL索引事务(一)

1、索引 1.1、概念 索引相当于一种特殊文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引&#xff0c;并指定索引类型&#xff0c;各类索引各自的结构实现。 1.2、作用 *通俗来讲&#xff0c;索引就相当于是我们的书本目录&#xff0c;…

电视、报纸、杂志、网络等曝光度好的媒体有哪些?

在当今社会&#xff0c;媒体是传递信息、宣传思想和引导社会舆论的重要平台。对于企业和个人而言&#xff0c;选择曝光度好的媒体来传递信息&#xff0c;是提高知名度和影响力的重要手段。那么&#xff0c;曝光度好的媒体有哪些呢&#xff1f;下面将从电视、报纸、杂志、网络等…

chatgpt赋能python:Python语言在SEO中的应用

Python语言在SEO中的应用 介绍 Python是一种易于学习&#xff0c;功能强大的高级编程语言&#xff0c;其优秀的性能和简单易用的开发方式&#xff0c;使其成为当前最受欢迎的语言之一。Python在各种应用场景中都有着广泛的应用&#xff0c;其中SEO领域更是不可忽视。Python可…

Tuxera for Mac2023中文版电脑读写硬盘U盘工具

在我们的日常学习和生活当中&#xff0c;因为小巧、便于携带等特性&#xff0c;U盘成为比较常用的移动存储设备。但在使用的过程中&#xff0c;也经常会遇到一些棘手的问题&#xff0c;例如&#xff1a;插入之后无法识别&#xff0c;或只能查看不能读写。那么&#xff0c;U盘不…

工欲善其事,必先利其器还是有必要的

uPic 图床配置教程 - Github 背景 最近发现上传图片的图床服务越来越难用&#xff0c;有的时候上传很慢&#xff0c;甚至会上传不上去。所以搜罗一波&#xff0c;本地实战搞起&#xff0c;巧了&#xff0c;这个软件不错&#xff0c;能达到起码得要求&#xff0c;正适合博客上…

MyBatis-Plus 可视化代码生成器来啦,开发效率提升2倍

前言 一、mybatis-plus-generator-ui是什么&#xff1f; 二、 mybatis-plus-generator-ui怎么用&#xff1f; 1、maven pom引入 2、新建程序入口&#xff0c;以main函数的方式运行 3、实例运行 三、mybatis-plus-generator-ui代码生成 1、Table的查询和浏览 2、输出配置 …

chatgpt赋能python:Python如何调字体大小的方法和步骤

Python如何调字体大小的方法和步骤 什么是调字体大小&#xff1f; 调字体大小是一种常见的文本编辑功能&#xff0c;可以通过更改文本中字号的大小&#xff0c;调整文本在屏幕上显示的大小。在Python编程中&#xff0c;也可以通过调整字体大小来改善程序界面的可读性。 如何…

Apple Vision Pro 内容开发制作

承接 Apple Vision Pro内容制作 3D模型制作 全新的平台。熟悉框架和工具。准备好为Apple Vision Pro设计和构建一个全新的应用程序和游戏世界。 沉浸 Apple Vision Pro提供了一个无限的空间画布来探索&#xff0c;实验和玩&#xff0c;让你自由地完全重新思考你的3D体验。人…