爬取微博热榜并将其存储为csv文件

🙌秋名山码民的主页
😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
获取源码,添加WX

目录

  • 前言
  • 1. 热榜前50爬虫
  • 最后


前言

基于大数据技术的社交媒体文本情绪分析系统设计与实现,首先需要解决的就是数据的问题,我打算利用Python 语言的Scrapy、Beautiful Soup等工具抓取一段时间内新浪微博用户对于热点事件的博文之后,按照事件、时间等多种方式进行分类,接着利用正则表达式等工具过滤掉微博正文中的超链接、转发信息、表情符号、广告宣传和图片等无效信息之后,将处理完的文本进行手工标注,最终将标注的文本作为训练语料库。今天的主要工作量就是对数据的获取,进行简单的热榜爬虫、和热点爬虫,热榜爬虫代码进行公开,热点爬虫代码需要的欢迎私信有偿获取。

1. 热榜前50爬虫

所需库:

import requests
from bs4 import BeautifulSoup
import pandas as pd

新浪微博目标网站:
url = ‘https://s.weibo.com/top/summary/’

cookie的获取:
Cookie中包含以下字段:

  • SUB:用户身份认证信息,通常由数字和字母组成。
  • SUBP:用户身份认证信息,通常由数字和字母组成。
  • SINAGLOBAL:用户身份认证信息,通常由数字和字母组成。
  • _s_tentry:用户访问来源网站的信息。
    在这里插入图片描述
cookie = '你自己的cookie'

常规爬虫代码

# 获取网页响应,对网页响应进行编码
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
html = response.text# 将网页文本使用Beautifulsoup解析
soup = BeautifulSoup(html, 'html.parser')# allnews存放热搜前50的新闻和热度,形式为{'新闻':'热度'}字典
all_news = {}

微博热榜分析
在这里插入图片描述


# 定位网页元素,观察到热搜新闻位于'td'元素下,class为'td-02'
for news in soup.find_all('td', class_='td-02')[1:]:text = news.text.split('\n')[1].strip()if news.text.split('\n')[2].strip() == '':continueelif news.text.split('\n')[2].strip()[0].isdigit():hot = news.text.split('\n')[2].strip()else:hot = news.text.split('\n')[2].strip()[2:]all_news[text] = hot

存储为csv


# 将字典转为DataFrame,并将DataFrame保存为csv文件
df = pd.DataFrame.from_dict(all_news, orient='index', columns=['热度'])
df.index.name = '新闻'
df.to_csv('weibo_hot.csv', encoding='utf-8-sig')

结果展示

在这里插入图片描述

最后

如果本文对你有所帮助,还请三连支持一下博主!
请添加图片描述

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

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

相关文章

防止SQL注入攻击的综合解决方案

文章目录 摘要背景和危害性防御措施示例代码(Java)示例代码(PHP)示例MySQL命令示例代码(Python)示例代码(C#,使用Entity Framework) 进一步防御SQL注入攻击的措施使用ORM…

【Linux】Git使用

一、Git简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理很小或非常大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布…

Kafka 简介之(学习之路)

正文 一、简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务…

原生JS-鼠标拖动

原生JS-鼠标拖动 通过鼠标的点击事件通过h5的属性 通过鼠标的点击事件 步骤: 1. 鼠标按下div。 2. 鼠标移动,div跟着移动 原生js,实现拖拽效果。1. 给被拖拽的div加上 onmousedown 鼠标【按下事件】。鼠标按下的时候,开始监听鼠标…

【Spring框架学习3】Spring Bean的作用域 及 生命周期

一、Spring Bean的作用域有哪些? Spring框架支持以下五种Bean的作用域: Singleton:这是默认的作用域,在每个Spring IoC容器中只有一个Bean的实例(IoC初始化后)。Spring 中的 bean 默认都是单例的,是对单例设计模式的…

cesium图标漂移分析与解决

漂移现象如下 什么是图标漂移? 随着视野改变,图标相对于地面发生了相对位置的变化 让人感觉到图标有飘忽不定的感觉 原因分析 图标是静止的,它的位置在世界坐标系中是绝对的、静止的。 漂移大部分的原因是: 透视关系发生了错…

新华三辅导笔记 2023/10/9-2023/10/13

新华三辅导笔记 一、需要用到的软件二、计算机网络概述1、计算机网络的定义和基本功能(1)什么是计算机网络(2)计算机网络的基本功能 2、(1)局域网、城域网和广域网(范围划分)&#x…

OpenCV防抖实践及代码解析笔记

视频防抖是指用于减少摄像机运动对最终视频的影响的一系列方法。摄像机的运动可以是平移(比如沿着x、y、z方向上的运动)或旋转(偏航、俯仰、翻滚)。 正如你在上面的图片中看到的,在欧几里得运动模型中,图像…

leetcode:190. 颠倒二进制位

一、题目: 函数原型: uint32_t reverseBits(uint32_t n) 解释:uint32是无符号int或short的别称,传入的参数是一个32位二进制串,返回值是该32位二进制串逆序后的十进制值 二、思路: 实际上并不需要真的去逆…

移动应用-Android-开发指南

Android-UI开发指南 Android Studio调试UI设计UI框架布局Layout文本框 android的活动Activity基本概念Activity的生命周期Activity栈创建Activity管理ActivityActivity间传递数据 FragmentAdapterRecyclerViewRecyclerView Adapter(适配器)事件setOnItem…

Can 通信-协议

概述 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被开发了出来。由于…

uniapp快速入门系列(3)- CSS技巧与布局

章节三:CSS技巧与布局 1. uniapp中的样式编写2. 常见布局技巧与实例解析2.1 水平居中布局2.2 垂直居中布局2.3 等高布局2.4 响应式布局 3. CSS动画与过渡效果 在uniapp中,我们使用CSS来设置页面的样式和布局。本章将介绍一些在uniapp中常用的CSS技巧和布…

IDEA的使用(一)代码模块的导入、快捷使用、自定义 (IntelliJ IDEA 2022.1.3版本)

目录 1. IDEA项目结构 2. 模块的导入操作 2.1 正规操作 2.2 取巧操作 2.3 出现乱码 2.4 模块改名 3. 代码模板的使用 后缀补全(Postfix Completion)、实时模板(Live Templates)菜单里面什么介绍都有,可以自学&a…

4.02 用户中心-上传头像功能开发

详细内容请看下面地址: 地址:http://www.gxcode.top/code

林沛满-TCP 是如何避免被发送方分片的?

TCP 可以避免被发送方分片,是因为它主动把数据分成小段再交给网络层。最大的分段大小称为 MSS(Maximum Segment Size),它相当于把 MTU 刨去 IP头和 TCP 头之后的大小,所以一个 MSS 恰好能装进一个 MTU 中。 图4 图 4 …

唐老师讲电赛

dc-dc电源布局要点

存档&改造【04】二维码操作入口设置细节自动刷新设置后的交互式网格内容的隐藏

因为数据库中没有数据无法查看设置效果,于是自己创建了个测试数据表,用来给demo测试 -- 二维码操作入口设置 create table JM_QR_CODE(QR_CODE_ID NUMBER generated as identity primary key,SYSTEM_ID NUMBER(20) not null,IS_ENAB…

iceberg简介004_iceberg和其他数据湖框架的对比---​​数据湖Apache Iceberg工作笔记0004

然后来看一下iceberg和其他数据湖框架的对比这里可以看到hudi支持的多一点对吧,但是 iceberg有自己的优势,并且他们都支持timeline 也就是时间旅行对吧. 然后这个图是显示了,数据湖三剑客的开源时间,以及火热程度,可以对比一下看看.

R语言R包详解——stringr包:字符处理

R语言 R语言R包详解——stringr包:字符处理 一切用法皆以说明书为准,想要了解该包,请多查阅说明书或者查看底层算法。 文章目录 R语言一、安装与加载R包二、函数简介三、函数详解3.1、str_c: 字符串拼接3.2、str_trim: 去掉字符串的空格和TA…

win1011安装MG-SOFT+MIB+Browser+v10b

文章目录 安装MG-SOFTSNMP服务配置安装MG-SOFT启动MIB-Browser以及错误解决MIB Browser使用 安装MG-SOFT win10和win11安装基本一样,所以参照下面的操作即可! SNMP服务配置 打开设置,应用和功能,可选功能,选择添加功…