首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >weibo_comment_pc_tool | 用python开发的微博评论采集软件,根据帖子链接爬取评论的爬虫工具

weibo_comment_pc_tool | 用python开发的微博评论采集软件,根据帖子链接爬取评论的爬虫工具

原创
作者头像
用户11561275
发布2025-05-19 09:16:30
发布2025-05-19 09:16:30
3162
举报

本工具仅限学术交流使用,严格遵循相关法律法规,符合平台内容的合法及合规性,禁止用于任何商业用途!

一、背景分析

1.1 开发背景

微博是国内极具影响力的社交媒体平台,具有内容形式短平快、热点事件实时性强、舆论快速发酵、用户群体年轻且活跃等特点。其中,微博评论区是用户公开表达观点的重要场域,可通过评论区的数据,实时追踪情绪倾向、挖掘公众诉求、捕捉热点趋势、构建群体画像、从而进行社会学和传播学的研究等。

基于此,我用python开发了一个爬虫采集软件,叫“爬微博评论软件”,下面详细介绍。

1.2 软件界面

软件界面,如下:

软件运行截图
软件运行截图

1.3 结果展示

爬取结果:(截图中展示的就是全部字段了)

采集结果-微博评论数据
采集结果-微博评论数据

1.4 软件说明

几点重要说明,请详读了解:

说明事项
说明事项

以上是现有功能,软件版本持续更新中。

1.5 演示视频

软件运行过程演示:

二、主要技术

2.1 模块分工

软件全部模块采用python语言开发,主要分工如下:

代码语言:python
复制
tkinter:GUI软件界面
requests:爬虫发送请求
json:解析返回的响应数据
pandas:保存csv结果
logging:日志记录

出于版权考虑,暂不公开源码,仅向用户提供软件使用。

2.2 部分代码

部分代码实现:

发送请求并解析数据:

代码语言:python
复制
# 发送请求
r = requests.get(url, headers=h1, params=params)
# 解析数据
json_data = r.json()

解析响应数据,以“评论内容”字段为例:

代码语言:python
复制
for data in json_data['data']:
    # 评论内容
    text = data['text_raw']
    text_list.append(text)

保存结果数据到csv文件:

代码语言:python
复制
# 保存数据
df = pd.DataFrame(
    {
        '微博链接': weibo_url,
        '微博id': weibo_id,
        '页码': page,
        '评论者昵称': screen_name_list,
        '评论者粉丝数': followers_count_list,
        '评论者关注数': friends_count_list,
        '评论者主页链接': user_home_url_list,
        '评论者性别': gender_list,
        '评论者签名': desc_list,
        '评论时间': create_time_list,
        '点赞数': like_counts_list,
        '评论内容IP属地': source_list,
        '评论级别': comment_level_list,
        '评论内容': text_list,
    }
)
# 保存csv文件
df.to_csv(self.result_file, mode='a+', index=False, header=header, encoding='utf_8_sig')
self.tk_show('结果保存成功:{}'.format(self.result_file))

软件界面底部版权:

代码语言:python
复制
# 版权信息
copyright = tk.Label(root, text='@马哥python说 All rights reserved.', font=('仿宋', 10), fg='grey')
copyright.place(x=290, y=625)

日志模块:

代码语言:python
复制
def get_logger(self):
    self.logger = logging.getLogger(__name__)
    # 日志格式
    formatter = '[%(asctime)s-%(filename)s][%(funcName)s-%(lineno)d]--%(message)s'
    # 日志级别
    self.logger.setLevel(logging.DEBUG)
    # 控制台日志
    sh = logging.StreamHandler()
    log_formatter = logging.Formatter(formatter, datefmt='%Y-%m-%d %H:%M:%S')
    # info日志文件名
    info_file_name = time.strftime("%Y-%m-%d") + '.log'
    # 将其保存到特定目录
    case_dir = r'./logs/'
    info_handler = TimedRotatingFileHandler(filename=case_dir + info_file_name,
                                        when='MIDNIGHT',
                                        interval=1,
                                        backupCount=7,
                                        encoding='utf-8')

三、使用介绍

3.0 填写cookie

开始采集前,先把自己的cookie值填入cookie.txt文件。

pc端cookie获取说明:

cookie获取方法
cookie获取方法

然后把复制的cookie值填写到当前文件夹的cookie.txt文件中。

3.1 软件登录

用户登录界面:

用户登录
用户登录

3.2 采集wb评论

根据自己的实际情况,在软件界面填写采集条件,点击开始按钮:

界面说明
界面说明

完成采集后,在当前文件夹生成对应的csv文件,文件名以时间戳命名,方便查找。

END、软件首发

“爬微博评论软件”首发于公号【老男孩的平凡之路】,欢迎在遵守相关法律法规的前提下进行交流与探讨。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景分析
    • 1.1 开发背景
    • 1.2 软件界面
    • 1.3 结果展示
    • 1.4 软件说明
    • 1.5 演示视频
  • 二、主要技术
    • 2.1 模块分工
    • 2.2 部分代码
  • 三、使用介绍
    • 3.0 填写cookie
    • 3.1 软件登录
    • 3.2 采集wb评论
  • END、软件首发
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档