【GUI软件】小红书蒲公英数据批量爬取!高效筛选优质博主,助力品牌商!

cnblogs 2024-06-18 15:09:00 阅读 99

马哥原创:用python开发的小红书蒲公英采集软件。

目录

  • 一、背景介绍
    • 1.0 爬取目标
    • 1.1 演示视频
    • 1.2 软件说明
  • 二、代码讲解
    • 2.0 关于接口
    • 2.1 爬虫采集模块
    • 2.2 cookie获取
    • 2.3 软件界面模块
    • 2.4 日志模块
  • 三、获取采集软件

一、背景介绍

1.0 爬取目标

爬取目标

众所周知,蒲公英是小红书推出的优质创作者商业合作服务平台,致力于为品牌和博主提供内容合作服务,可以高效的为品牌匹配出最符合的优质博主。

蒲公英平台,需要有一定权限的企业资质账号才能申请开通。开通之后,进入【寻找博主】页面,即可根据一定的筛选条件过滤出满足的博主列表,如下:

寻找博主页面

上面是筛选条件,下面是筛选结果。

爬虫功能分为2大类模块:第一是根据筛选条件爬取博主列表,第二是根据爬取到的博主id进入详情页面爬取详细数据,详情页如下:

某个博主的详情页

通过分析网页接口,开发出了爬虫GUI软件,界面如下:

软件运行界面

共爬取到34个字段,字段如下:

1关键词

2页码

3小红书昵称

4小红书号

5地址

6机构

7数据更新至

8小红书链接

9粉丝数

10账号类型

11图文报价

12视频报价

13合作笔记数

14预估阅读单价_图文

15图文3秒阅读

16日常_阅读中位数

17日常_互动中位数

18日常_阅读来源发现页占比

19日常_阅读来源搜索页占比

20合作_阅读中位数

21合作_互动中位数

22合作_阅读来源发现页占比

23合作_阅读来源搜索页占比

24女性粉丝占比

25年龄占比最多的

26账号评估

27合作笔记1阅读数

28合作笔记2阅读数

29合作笔记3阅读数

30合作笔记4阅读数

31合作笔记5阅读数

32合作笔记6阅读数

33合作笔记7阅读数

34合作笔记8阅读数

详细演示数据:(看《蒲公英》这个sheet页)

https://docs.qq.com/sheet/DVEFhZlFKR1NXVEdN?tab=suenot

1.1 演示视频

软件操作演示视频:【爬虫软件】批量采集小红书蒲公英博主信息

1.2 软件说明

重要说明,请详读:

  1. Windows用户可直接双击打开使用,无需Python运行环境,非常方便!
  2. 需要在cookie.txt中填入cookie值,持久存储,方便长期使用
  3. 支持筛选笔记搜索关键词、笔记类型(不限/图文笔记为主/视频笔记为主)、粉丝数量、图文报价、搜索页范围。其他个性化筛选条件,可以和我沟通定制
  4. 爬取过程中,有log文件详细记录运行过程,方便回溯
  5. 爬取过程中,自动保存结果到csv文件(每爬一条存一次,防止数据丢失)
  6. 可爬34个关键字段,含:关键词,页码,小红书昵称,小红书号,地址,机构,数据更新至,小红书链接,粉丝数,账号类型,图文报价,视频报价,合作笔记数,预估阅读单价_图文,图文3秒阅读,日常_阅读中位数,日常_互动中位数,日常_阅读来源发现页占比,日常_阅读来源搜索页占比,合作_阅读中位数,合作_互动中位数,合作_阅读来源发现页占比,合作_阅读来源搜索页占比,女性粉丝占比,年龄占比最多的,账号评估,合作笔记1阅读数,合作笔记2阅读数,合作笔记3阅读数,合作笔记4阅读数,合作笔记5阅读数,合作笔记6阅读数,合作笔记7阅读数,合作笔记8阅读数。
  7. 以上爬取字段已经包含,如无法满足个性化要求,可定制开发(接口已调通)

    以上。

二、代码讲解

2.0 关于接口

由于采集字段较多,开发者模式中分析接口不止一个,采集程序整合多个接口开发而成,归纳如下:

  1. 博主列表接口
  2. 日常笔记接口
  3. 合作笔记接口
  4. 粉丝数接口
  5. 阅读单价接口
  6. 合作笔记阅读数接口
  7. 所属机构接口

以上。

2.1 爬虫采集模块

此软件开发成本较高,代码量大、实现逻辑复杂,为保护个人知识版权,防止恶意盗版软件,不展示爬虫核心代码。

2.2 cookie获取

运行软件之前,需要填写cookie值到txt配置文件中,获取方法如下:

开发者模式中获取cookie

2.3 软件界面模块

主窗口部分:

# 创建主窗口

root = tk.Tk()

root.title('蒲公英爬虫-公开版p1.4 | 马哥python说 | 定制')

# 设置窗口大小

root.minsize(width=850, height=650)

部分界面控件:

# 笔记关键词

tk.Label(root, justify='left', text='笔记关键词:').place(x=30, y=65)

entry_kw = tk.Text(root, bg='#ffffff', width=22, height=2, )

entry_kw.place(x=105, y=65, anchor='nw') # 摆放位置

日志输出控件:

# 运行日志

tk.Label(root, justify='left', text='运行日志:').place(x=30, y=250)

show_list_Frame = tk.Frame(width=780, height=300) # 创建<消息列表分区>

show_list_Frame.pack_propagate(0)

show_list_Frame.place(x=30, y=270, anchor='nw') # 摆放位置

2.4 日志模块

好的日志功能,方便软件运行出问题后快速定位原因,修复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')

软件运行过程中生成的日志文件:

log文件

三、获取采集软件

完整exe采集软件,微信公众号"老男孩的平凡之路"后台回复"爬蒲公英"即可获取。点击直达


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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。