基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

这篇具有很好参考价值的文章主要介绍了基于python的微博舆情分析与研究—以《北京冬奥会》为关键词。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


创作不易,如果以下内容对你有帮助,记得三连呀,让更多的小伙伴能看到吧~~


1. 研究内容

  • 本课题研究的是基于Python的微博舆情热点分析与研究。在PyCharm、Jupiter Notebook开发环境下,首先利使用python的requests库对微博进行分时段多进程爬取,并利用lxml解析库对爬取到的数据解析并做简单的数据清洗且保存到数据库;然后,使用numpy、pandas等库对原始数据进行数据预处理;接着,对各特征做灰色关联分析,筛选对传播热度影响较大的特征;最后,利用python的matplotlib库可视化两官方媒体和自媒体在不同的时段、不同人群传播力度的变化等各种变化指标,并对微博的内容利用基于情感词典的方法进行文本情感分析,从而挖掘正面和负面信息。

2. 数据获取

  • 主要采用的是requests+lxml库进行数据爬取和数据解析,以下附上爬取的部分代码:
# 统一时间
def parse_time(datetime):
    if datetime is None:
        return datetime

    if re.match('\d+年\d+月\d+日.+', datetime):
        # time模块
        datetime = datetime
        datetime.replace("年","-")
        datetime.replace("月","-")
        datetime.replace("日","")

    if re.match('\d+月\d+日.+', datetime):
        # time模块
        datetime = datetime.replace("月","-").replace("日","")
        datetime = time.strftime('%Y-', time.localtime(time.time())) + datetime

    if re.match('\d+分钟前', datetime):
        minute = re.match('(\d+)', datetime).group(1)
        # time.localtime()为当前的时间戳,用time.time()当前的时间戳-已过的时间来获取发布时的时间戳(1970纪元后经过的浮点秒数)
        datetime = time.strftime('%Y-%m-%d %H:%M', time.localtime(time.time() - float(minute)*60))

    if re.match('\d+秒前', datetime):
        second = re.match('(\d+)', datetime).group(1)
        # time.localtime()为当前的时间戳,用time.time()当前的时间戳-已过的时间来获取发布时的时间戳(1970纪元后经过的浮点秒数)
        datetime = time.strftime('%Y-%m-%d %H:%M', time.localtime(time.time() - float(second)))

    if re.match('今天.*', datetime):
        temp = re.match("今天(\d+:\d+)",datetime).group(1)
        datetime = time.strftime('%Y-%m-%d ', time.localtime()) + temp
    return datetime
    
# 开启爬虫
def start_crawl(base_url,pages):
    headers = request_header_article()
    # 遍历搜索时间
    years = [2021,2022]
    for year in years:
        months = [*range(1,13)] if year != 2022 else list(1)
        days = [31,28,31,30,31,30,31,31,30,31,30,31]
        for num, month in enumerate(months):
            for day in range(1,days[num],7):
                day_end = day + 6 if day + 6 < 31 else 30
                print("Spider正在爬取{}-{}-{}至{}-{}-{}时间段!".format(year,month,day,year,month,day_end))
                time.sleep(1)
                for page in range(1, pages + 1):
                    url = base_url.format(year_start=year, month_start=month, day_start=day, year_end=year, month_end=month, day_end=day_end, page=page)
                    response = requests.get(url=url, headers=headers,timeout=(3,7))
                    if response.status_code == 200:
                        res = et.HTML(response.text)
                        print("Spider已完成第{}页爬取任务!".format(page))
                        yield res
                    else:
                        continue
# 将数据存入MongoDB
def save_mongoDB(base_url,pages):
    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.HotSpotBD
    table = db['HotSpotInfo']
    for insert_list in data_clean(base_url,pages):
        table.insert_many(insert_list)
        print("完成一页数据插入任务!")
    client.close()
  • 本项目主要采用MongoDB数据库作为存储介质,主要包括的字段有点赞数、评论数、转发数、媒体类型、发布时间、作者总获赞数、作者总发布文章数、作者年龄、作者性别等,以下为数据表的部分数据:

该部分数据用于数据分析
基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

该部分数据用于文本情感分析
基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

3. 数据预处理

  • 在这一部分主要是对原始数据进行数据缺失值填充、重复值去重、非法值替换等处理,以及特征编码,对某些特征进行数据类型转换,各特征间的相关性分析,最重要的是在这一部分通过文章的点赞,评论,转发数的权重定义出了文章的热度特征,以下是数据预处理后的部分数据:

基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

4. 数据分析及可视化

  • 在这一部分主要是研究官方媒体和自媒体在不同的时段、不同人群传播力度的变化等各种变化指标,以下是数据分析后作可视化后的图形:
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

5. 文本情感分析

文本预处理
  • 在做情感分析之前,需要对文本进行去除非中文字符、中文分词、去除停用词、词频统计等预处理,以下是对文本预处理后的部分数据:
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

    词频统计后作出的词云图
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词文章来源地址https://www.toymoban.com/news/detail-403991.html

情感分析
  • 用于没有标记标签的训练集数据,所有没有采用贝叶斯分类模型进行分类,这里直接调用用百度已经训练好的模型接口进行情感分析的,以下是特定时间段内的情感趋势走向的分析:
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词
    基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

源码分享

  • 爬取数据部分:点击此处免费下载
  • 数据分析及可视化部分:点击此处免费下载
  • 文本情感分析部分:点击此处免费下载

到了这里,关于基于python的微博舆情分析与研究—以《北京冬奥会》为关键词的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 毕业设计:基于python微博舆情分析系统+可视化+Django框架 K-means聚类算法(源码)✅

    毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅 感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。

    2024年01月19日
    浏览(50)
  • 微博舆情分析系统的设计与实现(python)

    随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,微博舆情分析系统的资讯信息通过网络进行信息管理掀起了热潮

    2024年02月20日
    浏览(40)
  • python微博舆情分析系统 可视化 情感分析 爬虫 机器学习(源码+讲解)✅

    🍅 大家好,今天给大家分享一个Python项目,感兴趣的可以先收藏起来,点赞、关注不迷路! 🍅 大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。 设计1000套(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕业设计选题

    2024年03月25日
    浏览(55)
  • 【可视化大屏】用Python开发「淄博烧烤」微博热评舆情分析大屏

    目录 一、开发背景 二、爬虫代码 2.1 爬微博列表 2.2 爬微博评论 2.3 导入MySQL数据库 三、可视化代码 3.1 大标题 3.2 词云图(含:加载停用词) 3.3 玫瑰图(含:snownlp情感分析) 3.4 柱形图-TOP10 3.5 折线图-讨论热度趋势 3.6 地图-IP分布 3.7 Page组合大屏 四、彩蛋-多种颜色主

    2024年02月08日
    浏览(51)
  • 【数据挖掘实战】——舆情分析:对微博文本进行情绪分类

    🤵‍♂️ 个人主页:@Lingxw_w的个人主页 ✍🏻作者简介:计算机科学与技术研究生在读 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+   目录 一、背景介绍 二、比赛任务

    2024年02月08日
    浏览(44)
  • 【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

    近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取,同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我们使用技术进行分

    2024年01月23日
    浏览(54)
  • Python基于Flask的高校舆情分析,舆情监控可视化系统

    目录 一、前言 二、使用Python爬取舆情数据 1.安装requests库 2.分析数据 3.爬取数据 三、通过代理IP提高数据爬取效率 1.获取代理IP 2.使用代理IP 四、使用Flask框架实现舆情监控可视化系统 五、使用MongoDB存储数据 六、总结 一、前言 在当今社会,舆情监控越来越被重视。随着互联

    2024年02月07日
    浏览(49)
  • 基于python舆情分析可视化系统+情感分析+爬虫+机器学习(源码)✅

    大数据毕业设计:Python招聘数据采集分析可视化系统✅ 毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅 感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关

    2024年01月20日
    浏览(53)
  • Python基于微博的舆论分析,微博评论情感分析可视化系统(V5.0),附源码

    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选

    2024年04月13日
    浏览(40)
  • 基于Python的微信聊天记录分析——数据处理与分析

    本篇为《基于Python的微信聊天记录分析》系列的第二篇,主要讲解获取到聊天记录数据之后,在Python环境下对其进行数据处理、分析和可视化,涉及库的安装、相关操作的Python代码等内容。希望和大家多多交流,共同进步! 数据分析的基础是“数据”,俗话说基础不牢,地动

    2024年02月19日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包