首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小红书蒲公英数据批量采集神器!Python爬虫软件助你轻松搞定!

小红书蒲公英数据批量采集神器!Python爬虫软件助你轻松搞定!

原创
作者头像
用户5690870
修改2024-07-10 18:07:04
修改2024-07-10 18:07:04
14400
代码可运行
举报
运行总次数:0
代码可运行

一、背景介绍

1.0 爬取目标

爬取目标
爬取目标

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

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

寻找博主页面
寻找博主页面

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

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

某个博主的详情页
某个博主的详情页

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

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

代码语言:txt
复制
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阅读数

详细演示数据:有。

1.1 演示视频

软件操作演示视频:有。

1.2 软件说明

重要说明,请详读:

二、代码讲解

2.0 关于接口

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

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

以上。

2.1 爬虫采集模块

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

2.2 cookie获取

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

开发者模式中获取cookie
开发者模式中获取cookie

2.3 软件界面模块

主窗口部分:

代码语言:python
代码运行次数:0
运行
复制
# 创建主窗口
root = tk.Tk()
root.title('蒲公英爬虫-公开版p1.4 | 马哥python说')
# 设置窗口大小
root.minsize(width=850, height=650)

部分界面控件:

代码语言:python
代码运行次数:0
运行
复制
# 笔记关键词
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')  # 摆放位置

日志输出控件:

代码语言:python
代码运行次数:0
运行
复制
# 运行日志
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。

核心代码:

代码语言:python
代码运行次数:0
运行
复制
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文件
log文件

四、同步视频讲解

有。

五、关于我

我是马哥python说,一10年程序猿,专注python开发,感谢阅读!

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

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

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

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

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景介绍
    • 1.0 爬取目标
    • 1.1 演示视频
    • 1.2 软件说明
  • 二、代码讲解
    • 2.0 关于接口
    • 2.1 爬虫采集模块
    • 2.2 cookie获取
    • 2.3 软件界面模块
    • 2.4 日志模块
  • 四、同步视频讲解
  • 五、关于我
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档