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

news/2025/1/16 5:32:16/

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

背景:该专栏的目的是将自己做了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 reheaders = {#这里根据不同评论的内容,修改不同的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.textcontent = 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记得改成自己想要爬取的网站的URLurl = '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.ppmy.cn/news/256897.html

相关文章

数据库信息速递 10年的数据库使用习惯变革,数据库的使用习惯在被改变 (译)...

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

All One Needs to Know about Metaverse

本文是针对《All One Needs to Know about Metaverse: A Complete Survey on Technological Singularity, Virtual Ecosystem, and Research Agenda》的翻译&#xff0c;只针对文字部分&#xff0c;图表请查看原文。 关于元宇宙所有需要了解的&#xff1a;技术奇点、虚拟生态系…

《第一本无人驾驶技术书》

Monday&#xff1a; 第1章 无人车&#xff1a;正在开始的未来 现代信息技术发展史 20世纪60年代&#xff1a;仙童电子和Intel通过硅晶体微处理器技术的创新开创了信息技术的新时代&#xff08;硅谷的起源&#xff09; 20世纪80年代&#xff1a;软件系统发展、图形界面广泛应…

【AI视野·今日CV 计算机视觉论文速览 第209期】Mon, 31 May 2021

AI视野今日CS.CV 计算机视觉论文速览 Mon, 31 May 2021 Totally 46 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging Author…

基于决策树的泰坦尼克号数据集回归预测

目录 1、作者介绍2、决策树算法2.1 决策树原理2.1.1 基本原理2.1.2 节点的概念 2.2 构建决策树2.3 决策树优缺点 3、实验设计3.1 数据集简介3.2 代码实现3.3 运行结果 4、参考链接 1、作者介绍 任正福&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2022级研…

无线蓝牙耳机哪个牌子的好?蓝牙耳机排行榜

自从苹果取消3.5mm耳机接口并推出AirPods后&#xff0c;蓝牙耳机成为大势所趋&#xff0c;更为便捷的真无线蓝牙耳机逐渐取代有线耳机。但随着无线蓝牙耳机的市场越来越大&#xff0c;耳机品牌与型号也越来越多。那么在众多耳机品牌中哪个比较好呢&#xff1f;针对这个问题&…

无线蓝牙耳机哪个牌子好?盘点性价比最高的蓝牙耳机品牌

如今蓝牙耳机算是在数码市场发展的非常快速的产品了&#xff0c;当你出门时就会发现身边有很多人都在使用无线蓝牙耳机&#xff0c;不仅因为它方便快捷&#xff0c;更是因为它的高性能&#xff0c;高音质给我们带来很棒的体验感&#xff0c;话不多说了&#xff0c;下面就来分享…

无线蓝牙耳机哪个牌子的好?无线耳机排行榜前十名!

放眼整个手机市场&#xff0c;一只手都数得过来&#xff0c;而这些保留3.5mm耳机接口的厂商通常是定位游戏手机的&#xff0c;游戏手机的受众比较少&#xff0c;人们更不会为了一个3.5mm的耳机接口去购买一台游戏手机&#xff0c;在市场的逼迫下&#xff0c;消费者们终于妥协了…