【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干货中!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

矩阵起源荣获第八届“创客中国”深圳市中小企业创新创业大赛三等奖

近日,2023年第八届“创客中国”深圳市中小企业创新创业大赛圆满落下帷幕,矩阵起源(深圳)信息科技有限公司凭借项目”MatrixOne 新一代超融合异构云原生数据库”荣获企业组三等奖。 本届大赛由深圳市工业和信息化局、深圳市中小企业…

如何用Python3+requests+unittest实现接口自动化测试实战

一、Requests介绍 首先让我们来看 Requests 官方的介绍: Requests is an elegant and simple HTTP library for Python, built for human beings. 翻译过来就是:Requests 是为人类写的一个优雅而简单的 Python HTTP 库。这个介绍很直白了,…

ElasticSearch文档分析

ElasticSearch文档分析 包含下面的过程: 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里: 字符过滤器 首先&a…

乐优商城(三)品牌管理

1. 品牌的新增 1.1 url 异步请求 点击品牌管理下的新增品牌,填写品牌信息后提交 2.打开浏览器控制台 由此可以得知: 请求方式:POST请求路径:/item/brand请求参数:{name: “测试品牌”, image: “”, cids: “76,32…

云端生成式 AI – 基于 Amazon EKS 的 Stable Diffusion 图像生成方案

Stable Diffusion 是当下生成式 AI 领域最受欢迎的开源多模态语言-图像模型,由于其易用的接口和良好的使用体验,受到了开源社区和广大设计行业从业者的追捧。Stable Diffusion 模型版本正在快速迭代,并带动了各行各业的生产力变革。目前市场上…

SAP 40策略测试及简介

相信很多很多的行业中都会用到40策略按库存生产,接下来我们将详细的测试40策略 1、首先准备好成品物料AB2。 2、创建BOM—cs01 3、创建主配方C202 ,如果是离散制造的话就是创建工艺路线CA01 4、创建生产版本C223 5、同样的AB2物料增加库存20KG。 6、创建计划独立需求MD…

微信智能机器人开发-基于E云管家,实现强大的个微管理

本文介绍了如何利用E云管家开发一个功能丰富的微信智能机器人。E云管家是一个开发协议,为微信机器人提供了强大的功能支持,包括关键字回复、自动通过好友和自动发朋友圈等特性。我们将通过一个简单的示例演示如何在E云管家下实现这些功能,并附…

EMERSON艾默生变频器维修M600/M701/M702

艾默生变频器维修常见系列: EV1000 系列:体积小,操作简便,适用于塑料机械、纺织机械、烟草机械、陶瓷机械、制药机械食品机械、印刷机械、包装机械、空调等专用设备配套。 EV2000 系列:功率范围广,功能更…

2020年五一杯数学建模B题基于系统性风险角度的基金资产配置策略分析解题全过程文档及程序

2020年五一杯数学建模 B题 基于系统性风险角度的基金资产配置策略分析 原题再现 近年来,随着改革开放程度的不断提高,我国经济运行中的各种风险逐渐暴露并集中传导和体现于金融领域。党的“十九大”报告提出“守住不发生系统性金融风险的底线”要求&am…

企业组建客服中心,需要考虑哪些问题?

随着市场竞争的加剧,企业越来越注重客户服务。因此,组建一个专业的客服中心已成为企业的一个重要战略举措。然而,这个任务不仅需要考虑技术和人员方面的问题,还需要考虑许多其他的因素。在本文中,我们将探讨企业在组建…

使用双动态令牌混合器学习全局和局部动态以进行视觉识别

TransXNet: Learning Both Global and Local Dynamics with a Dual Dynamic Token Mixer for Visual Recognition 1、问题与解决2、引言3、方法3.1 双动态令牌混合器(D- Mixer)3.2 IDConv(Input-dependent Depthwise Convolution)3.3 Overlapping Spatial Reduction Attention …

Java 身份证号校验,根据身份证号识别出生地

Java 身份证号校验: import org.apache.commons.lang.StringUtils;import java.util.Calendar; import java.util.Collections; import java.util.HashMap; import java.util.Map;/*** desc 身份证工具类* auth llp* date 2022/7/7 16:13*/ public class IdCardNum…

神仙打架!腾讯云阿里云谁更棋高一着?

现在,腾讯云和阿里云都在打价格战,推出了一系列的优惠政策。其中,腾讯云服务器只需要88元,而阿里云服务器也只需要99元。这么便宜的价格,是不是让你心动不已呢? 腾讯云的88元服务器:https://te…

MySQL优化方案

Mysql优化 一、连接配置优化1.服务端配置2.客户端优化 二、架构优化1.使用缓存2.做读写分离(集群、主从复制)3.分库分表3.1.垂直分库3.2.垂直分表3.3.水平分表3.4.水平分库 4.消息队列削峰 三、优化器——SQL分析与优化1.慢查询优化1.1.配置慢查询日志1.…

第三方支付支付宝的信息安全分析

随着信息技术的进步,网络结算方式也在迅速发展。网上结算虽然便捷快速,但是如果没有保障的平台或者法律的支持,双方在没有约束的情况下,就会导致拖延、折扣或者拒付等许多经济事件的发生,由此第三方支付就随之产生。第…

嵌入式开发:ST-LINK V2.1仿真器,Type-C接口

标题ST-LINK V2.1仿真器,Type-C接口 之前做的版本虽然也是V2.1的,但使用的接口是USB的Micro形式,不支持正反插,也不兼容现在通用的手机数据线,出差的时候又要多带一条线。 现在终于把我的ST-LINK的接口改了一下 如下…

oracle11G在linux环境下的卸载操作

1.使用SQL*PLUS停止数据库 [oracleOracleTest oracle]$ sqlplus / as sysdba SQL> shutdown [immediate] SQL> exit2.停止Listener [oracleOracleTest oracle]$ lsnrctl stop3.停止HTTP服务 [rootOracleTest /root]# service httpd stop4.用su或者重新登录到root(如想…

『吴秋霖赠书活动 | 第四期』《Spring Boot微服务实战》

文章目录 1. 写在前面2. Spring Boot介绍3. Spring Boot实战4. Spring Boot主要内容概览 1. 写在前面 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【…

视频剪辑方法:为视频剪辑添加亮点,如何制作精美的滚动字幕

在视频剪辑中,滚动字幕是一个重要的元素,它可以为视频增添视觉吸引力,增强观看体验。滚动字幕的长度和速度也是非常重要的因素。如果滚动字幕太长,会让人感到拖沓;如果滚动字幕太短,会让人感到匆忙。因此&a…

安装dock打包前端项目遇到的一些错误

1docker安装报错 2 docker安装报错 运行 wsl --list报错 wsl --list 适用于 Linux 的 Windows 子系统没有已安装的分发版。 可以通过访问 Microsoft Store 来安装分发版解决方法 如果执行 wsl --list 命令报告适用于 Linux 的 Windows 子系统没有已安装的分发版,…