【GUI软件开发】小红书评论采集:自动采集1w多条,含二级评论!

文章目录

  • 一、爬取目标
    • 1.1 效果截图
    • 1.2 演示视频
    • 1.3 软件说明
  • 二、代码讲解
    • 2.1 爬虫采集模块
    • 2.2 软件界面模块
    • 2.3 日志模块
  • 三、附完整源码及软件

一、爬取目标

您好!我是@马哥python说 ,一名10年程序猿。

我用python开发了一个爬虫采集软件,可自动抓取小红书评论数据,并且含二级评论数据。

为什么有了源码还开发界面软件呢?方便不懂编程代码的小白用户使用,无需安装python,无需改代码,双击打开即用!

1.1 效果截图

软件界面截图:

结果截图1:

结果截图2:

结果截图3:

1.2 演示视频

软件运行演示:

【视频演示】小红书评论采集工具,可爬取上万条,含二级评论!

1.3 软件说明

几点重要说明:

  1. Windows用户可直接双击打开使用,无需Python运行环境,非常方便
  2. 需要填入cookie和爬取目标笔记链接
  3. 支持同时爬多个笔记的评论
  4. 可爬取10个关键字段,含:笔记链接,页码,评论者昵称,评论者id,评论者主页链接,评论时间,评论IP属地,评论点赞数,评论级别,评论内容。
  5. 评论中包含二级评论及二级展开评论。

二、代码讲解

2.1 爬虫采集模块

通过把已有代码部分封装成class类,供tkinter界面调用。

详细爬虫实现逻辑,请见:

【爬虫实战】用Python采集任意小红书笔记下的评论,爬了10000多条,含二级评论!

2.2 软件界面模块

软件界面采用tkinter开发。
主窗口部分:

# 创建日志目录
work_path = os.getcwd()
if not os.path.exists(work_path + "/logs"):os.makedirs(work_path + "/logs")
# 创建主窗口
root = tk.Tk()
root.title('小红书评论采集软件 | 马哥python说')
# 设置窗口大小
root.minsize(width=850, height=650)

填写cookie控件:

# 【填入Cookie】
tk.Label(root, justify='left', font=('微软', 14), text='个人Cookie:').place(x=30, y=75)
entry_ck = tk.Text(root, bg='#ffffff', width=110, height=2, )
entry_ck.place(x=30, y=100, anchor='nw')  # 摆放位置

填写笔记链接控件:

# 【笔记链接】
tk.Label(root, justify='left', font=('微软', 14), text='笔记链接:').place(x=30, y=145)
note_ids = tk.StringVar()
note_ids.set('')
entry_nt = tk.Text(root, bg='#ffffff', width=110, height=14, )
entry_nt.place(x=30, y=170, anchor='nw')  # 摆放位置

底部软件版权说明:

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

以上。

2.3 日志模块

好的日志功能,方便软件运行出问题后快速定位原因,修复bug。
核心代码:

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')

日志文件截图:

三、附完整源码及软件

附完整源码及软件:【GUI软件开发】小红书评论采集:自动采集1w多条,含二级评论!


我是@马哥python说 ,一名10年程序猿,持续分享python干货中!

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

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

相关文章

【优选算法系列】【专题二滑动窗口】第二节.1004. 最大连续1的个数 III和1658. 将 x 减到 0 的最小操作数

文章目录 前言一、最大连续1的个数 III 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写二、将 x 减到 0 的最小操作数 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写总结 前言 一、最大连…

【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 上篇

前言 halcon有几种文件: 本地程序函数(.hdev)外部函数文件(.hdvp)库函数(.hdp) 说多了容易混淆,今天就说,我觉得最有用的:外部函数文件(.hdvp) 步骤 先写一段halcon脚本&#x…

宝塔部署QQ机器人,提示OpenSSL 1.0.2k-fips 26 Jan 2017

1、报错预览 Traceback (most recent call last):File "/www/wwwroot/python/bot-one/main.py", line 5, in <module>import requestsFile "/www/wwwroot/python/bot-one/343ae0eb0d491a10a1a00c0621b03ed0_venv/lib/python3.9/site-packages/requests/_…

粤嵌实训医疗项目(小组开发)--day05

目录 一、医生功能模块 ------------前端实现------------ ------------后端接口------------ 功能一&#xff1a;分页查询医生基础信息&#xff08;介绍MybatisPlus如何使用分页&#xff09; 功能二&#xff1a;根据搜索栏名称查找对应医生&#xff08;讲解自定义查询集&…

【Cocos新手进阶】父级预制体中的数据列表,在子预制体中的控制方法!

本篇文章主要讲解&#xff0c;cocos中在预制体操作过程中&#xff0c;父级预制体生成的数据列表中&#xff0c;绑定了子预制体中的事件&#xff0c;在子预制体的时间中如何控制上级列表的具体操作教程。 日期&#xff1a;2023年11月10日 作者&#xff1a;任聪聪 一、实际效果情…

Pytorch实战教程(三)-构建神经网络

0. 前言 我们已经学习了如何从零开始构建神经网络,神经网络通常包括输入层、隐藏层、输出层、激活函数、损失函数和学习率等基本组件。在本节中,我们将学习如何在简单数据集上使用 PyTorch 构建神经网络,利用张量对象操作和梯度值计算更新网络权重。 1. PyTorch 构建神经网…

k8s-Pod控制器

一、Pod控制器 1.Pod控制器及其功用 Pod控制器&#xff0c;又称之为工作负载&#xff08;workload&#xff09;&#xff0c;是用于实现管理pod的中间层&#xff0c;确保pod资源符合预期的状态&#xff0c;pod的资源出现故障时&#xff0c;会尝试进行重启&#xff0c;当根据重启…

企业安全—三保一评

0x00 前言 本篇主要是讲解三保一评的基础知识&#xff0c;以及对为什么要进行这些内容的原因进行总结。 0x01 整体 1.概述 三保分别是&#xff0c;分保&#xff0c;等保&#xff0c;关保。 分保就是指涉密信息系统的建设使用单位根据分级保护管理办法和有关标准&#xff0c…

[MT8766][Android12] 系统设置隐藏休眠时间和锁屏选项

文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: MT8766 版本: Android 12 kernel: msm-4.19 问题描述 最近开发的一款智能盒子&#xff0c;没有屏幕显示&#xff1b;所以&#xff0c;系统默认设置成永不休眠以及默认不锁屏&#xff1b;但是&#xff0c;…

QComboBox的信号

QComboBox的最重要的信号activated和currentIndexChanged 两个信号的区别&#xff1a; QComboBox::activated信号发射在用户打开选择了选项后&#xff0c;即便选项与当前选项一致&#xff0c;也会发射该信号 QComboBox::currentIndexChanged信号只在选项发生了变化的时候 这…

JAVA 读取文件 写入文件 复制文件

读取 写入 复制 文件 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class text6 {public static void main(String[] args) {// System.out.println(fiel_read("file\\a.txt&qu…

植物补光灯,哪种效果好?

室内种植物有诸多好处&#xff1a;空间装饰、吸收有害物质、释放氧气&#xff0c;使室内空气更加清新&#xff1b;植物的蒸腾作用可以增加室内的湿度&#xff0c;改善秋冬季干燥的室内环境&#xff0c;可谓是天然的加湿器。 然而由于缺乏太阳光&#xff0c;在室内养植并不是一…

服装展示服务预约小程序的内容如何

互联网电商深入&#xff0c;很多服装商家开始线上卖货经营、会员管理及私域营销等&#xff0c;这也是当今商家们的一个优选项&#xff0c;当然除了直接卖货以外&#xff0c;展示和预约、客户交互也同样是不少商家需要的。 那么商家通过服装展示预约小程序能够实现什么效果呢&a…

被腾讯云感动哭了,5年内都不用再买服务器了!

我一直在寻找一个稳定、高效、可靠的云服务器提供商&#xff0c;以支持我的个人网站和业务。最近&#xff0c;我发现了腾讯云&#xff0c;它提供了一款非常优惠的2核4G云服务器&#xff0c;而且可以用超低的价格一次性购买5年的服务期限&#xff01;看到这么贴心的腾讯云&#…

小程序订单中心path设置本次审核不通过,审核原因:小程序尚未发布,无法审核。

小程序尚未发布&#xff0c;无法审核。 先按照这篇文章把小程序审核通过&#xff0c;小程序版本审核未通过&#xff0c;需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path&#xff0c;请设置后再提交代码审核 小程序审核通过后&#xff0c;发布…

React进阶之路(三)-- Hooks

文章目录 Hooks概念理解什么是HooksHooks解决了什么问题 useState基础使用状态的读取和修改组件的更新过程使用规则回调函数作为参数 useEffect什么是函数副作用基础使用依赖项控制执行时机清理副作用发送网络请求 useRefUseContext Hooks概念理解 什么是Hooks Hooks的本质&am…

js学习笔记

目录 delete__dirname和__filenameImport、Require、interopRequireDefaultrequireimportinteropRequireDefault引用出现的一些问题循环引用引用文件的变量作用域引入导致的路径错误问题 defer和async严格模式undefined和nullparseInt等转数子的方法&#xff0c;如果参数是数字…

springboot整合Oauth2

Spring Boot 可以很容易地实现 OAuth2 认证&#xff0c;下面是一个简单的整合 OAuth2 的步骤&#xff1a; 添加 Maven 依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-oauth2-client<…

JAVA 读取写入文件

读取 写入 文件import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class text6 {public static void main(String[] args) {System.out.println(fiel_read("file\\a.txt"));String str&qu…

力扣每日一道系列 --- LeetCode 88. 合并两个有序数组

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构探索 ✅LeetCode每日一道 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 思路1&#xff1a;暴力求解思路2&#xff1a;原地合并 LeetCode 88. 合并两个有序数组…