Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爬取微博热榜并将其存储为csv文件

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

作者头像
秋名山码神
发布于 2023-10-16 06:27:09
发布于 2023-10-16 06:27:09
40700
代码可运行
举报
文章被收录于专栏:码神随笔码神随笔
运行总次数:0
代码可运行

前言

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

1. 热榜前50爬虫

所需库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
from bs4 import BeautifulSoup
import pandas as pd

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

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

  • SUB:用户身份认证信息,通常由数字和字母组成。
  • SUBP:用户身份认证信息,通常由数字和字母组成。
  • SINAGLOBAL:用户身份认证信息,通常由数字和字母组成。
  • _s_tentry:用户访问来源网站的信息。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cookie = '你自己的cookie'

常规爬虫代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获取网页响应,对网页响应进行编码
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
html = response.text

# 将网页文本使用Beautifulsoup解析
soup = BeautifulSoup(html, 'html.parser')

# allnews存放热搜前50的新闻和热度,形式为{'新闻':'热度'}字典
all_news = {}

微博热榜分析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 定位网页元素,观察到热搜新闻位于'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() == '':
        continue
    elif 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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 将字典转为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')

结果展示

最后

如果本文对你有所帮助,还请三连支持一下博主!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【FFmpeg】SDL 音视频开发 ② ( SDL 视频显示函数 | 设置渲染器目标纹理 | 设置渲染器颜色 | 清除渲染器 | 渲染器绘制矩形 | 纹理拷贝 | 窗口中显示渲染纹理 )
博客源码下载 : https://download.csdn.net/download/han1202012/89421317
韩曙亮
2024/06/13
2260
【FFmpeg】SDL 音视频开发 ② ( SDL 视频显示函数 | 设置渲染器目标纹理 | 设置渲染器颜色 | 清除渲染器 | 渲染器绘制矩形 | 纹理拷贝 | 窗口中显示渲染纹理 )
SDL2库(2)-Android 端集成FFmpeg及简单的播放器
项目位置 https://github.com/deepsadness/SDLCmakeDemo
deep_sadness
2018/12/14
1.7K0
SDL2库(2)-Android 端集成FFmpeg及简单的播放器
【FFmpeg】SDL 音视频开发 ⑤ ( SDL 播放 YUV 视频 | SDL 播放 YUV 画面流程 | YUV 视频存放位置 | 刷新控制子线程 | 主线程事件处理 )
在 【FFmpeg】SDL 音视频开发 ① ( SDL 窗口绘制 | SDL 视频显示函数 | SDL_Window 窗口 | SDL_Renderer 渲染器 | SDL_Texture 纹理 ) 博客中 , 介绍了
韩曙亮
2024/09/06
1700
【FFmpeg】SDL 音视频开发 ⑤ ( SDL 播放 YUV 视频 | SDL 播放 YUV 画面流程 | YUV 视频存放位置 | 刷新控制子线程 | 主线程事件处理 )
C++游戏开发:实现2D/3D游戏逻辑和渲染
在游戏开发中,C++是一种广泛使用的高效编程语言。它提供了强大的功能和灵活性,适用于实现2D和3D游戏的逻辑和渲染。本篇博客将介绍使用C++实现游戏逻辑和渲染的基本原理。
大盘鸡拌面
2023/12/02
1.4K0
「SDL第二篇」窗口渲染
上一篇文章中我们对SDL作了简单的介绍,重点介绍了如何编译SDL以及如何使用它。在文章的最后我们留下了一个疑问,即虽然我们创建了窗口,但窗口却并没有真正显示出来。
音视频_李超
2020/04/02
1.6K0
音视频技术(5)-iOS ffmpeg+SDL播放视频
参照SDL官网文档说明,iOS上使用SDL显示图像,需要修改main入口,SDL有自己的appdelegate实现,
公号sumsmile
2020/03/27
1.4K0
「SDL第八篇」支持倍速与慢放的YUV视频播放器
今天向大家介绍一下如何通过 SDL 实现一个YUV视频播放器。它与上次介绍的音频播放器一样,也是一个简单的不能再简单的播放器了。只不过一个是播放的音频PCM数据,另一个播放的时视频YUV数据。
音视频_李超
2020/04/02
1.1K0
【FFmpeg】SDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 | YUV 4:2:0 采样 | YUV420P 格式介绍 | 获取 YUV 视频文件 | 读取并加载 YUV 画面数据 )
博客源码下载 : https://download.csdn.net/download/han1202012/89717218 ;
韩曙亮
2024/09/06
2090
【FFmpeg】SDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 | YUV 4:2:0 采样 | YUV420P 格式介绍 | 获取 YUV 视频文件 | 读取并加载 YUV 画面数据 )
「SDL第三篇」绘制基本图形
之前的SDL的两篇文章我向大家介绍了如何编译使用 SDL,以及如何才能让窗口显示出来。想了解相关内容的同学可以点击下面的链接查看相关内容。
音视频_李超
2020/04/02
2K0
「SDL第三篇」绘制基本图形
FFmpeg简易播放器的实现-最简版
下图引用自“雷霄骅,视音频编解码技术零基础学习方法”,因原图太小,看不太清楚,故重新制作了一张图片。
叶余
2019/04/02
1.5K0
FFmpeg简易播放器的实现-最简版
SDL2:封装媒体显示播放Csdl2
https://github.com/gongluck/SDL2-study/tree/master/Csdl2
gongluck
2019/06/22
5850
FFmpeg_3.2.4+SDL_2.0.5学习(1)音视频解码帧及显示/播放数据
int OpenAVFile(const char* szFileName) { char errbuf[256] = { 0 }; int iRes = 0; int vindex = -1; AVFormatContext* pFmtCtx = NULL; AVCodecContext* vCodecCtx = NULL; AVCodec* vCodec = NULL; AVPacket* pkt = NULL; AVFrame* pfe = NULL; AVFrame* YUV =
_gongluck
2018/03/08
1.5K0
使用SDL2显示一张图片,SDL2上手贴
SDL全名Simple DirectMedia Layer,是一个跨平台的底层音频、视频、键盘、鼠标操作库,操作实际通过更底层的OpenGL/Direct3D完成,在保留跨平台的兼容性之外提供了非常高的效率,所以广泛的应用在多种游戏和对速度敏感的应用中,比如鼎鼎大名的steam平台/ffmpeg/qemu/模拟器等,当前的版本是2.0。更详细的资料可以访问官网:https://www.libsdl.org/。 SDL2的编程理念清晰易用,代码简洁高效,这里用显式一副图片的最简代码来作为入门的示例,正式
俺踏月色而来
2018/06/15
1.8K0
SDL2来源分析3:渲染(SDL_Renderer)
=====================================================
全栈程序员站长
2022/07/06
3.2K0
SDL2来源分析3:渲染(SDL_Renderer)
结合ffmpeg用SDL播放YUV实现简易播放器
通过解码之后得到的yuv视频数据我们直接可以进行播放,本篇使用SDL来实现视频播放。
曾大稳
2018/09/11
1.3K0
【音视频连载-005】基础学习篇-SDL 加载 YUV 文件并显示
在前面的文章中已经完成了图片的加载和显示,接下来要做的就是加载 YUV 文件并显示。
音视频开发进阶
2020/03/11
9840
SDL2库(3)-Android 端源码简要分析(VideoSubSystem)参考
项目位置 https://github.com/deepsadness/SDLCmakeDemo
deep_sadness
2018/12/14
3K0
SDL2库(3)-Android 端源码简要分析(VideoSubSystem)参考
SDL2库(1)-移植Android 端 CMakeList 集成
项目位置 https://github.com/deepsadness/SDLCmakeDemo
deep_sadness
2018/12/14
2.7K0
SDL2库(1)-移植Android 端 CMakeList 集成
golang调用sdl2,播放yuv视频
golang调用sdl2,播放yuv视频win10 x64下测试成功,其他操作系统下不保证成功。采用的是syscall方式,不是cgo方式。见地址代码如下:package mainimport ("fmt""github.com/moonfdd/sdl2-go/sdl""github.com/moonfdd/sdl2-go/sdlcommon""io/ioutil""time""unsafe")const REFRESH_EVENT = sdl.SDL_USEREVENT + 1 // 请求画面刷新事件co
福大大架构师每日一题
2022/06/16
3750
golang调用sdl2,播放yuv视频
推荐阅读
相关推荐
【FFmpeg】SDL 音视频开发 ② ( SDL 视频显示函数 | 设置渲染器目标纹理 | 设置渲染器颜色 | 清除渲染器 | 渲染器绘制矩形 | 纹理拷贝 | 窗口中显示渲染纹理 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验