▲ 爬取目标
众所周知,蒲公英是小红书推出的优质创作者商业合作服务平台,致力于为品牌和博主提供内容合作服务,可以高效的为品牌匹配出最符合的优质博主。
蒲公英平台,需要有一定权限的企业资质账号才能申请开通。开通之后,进入【寻找博主】页面,即可根据一定的筛选条件过滤出满足的博主列表,如下:
▲ 寻找博主页面
上面是筛选条件,下面是筛选结果。
爬虫功能分为2大类模块:第一是根据筛选条件爬取博主列表,第二是根据爬取到的博主id进入详情页面爬取详细数据,详情页如下:
▲ 某个博主的详情页面
通过分析网页接口,开发出了爬虫GUI软件,界面如下:
共爬取到34个字段,字段如下:
详细演示数据:(看《蒲公英》这个sheet页)
https://docs.qq.com/sheet/DVEFhZlFKR1NXVEdN?tab=suenot
软件操作演示视频:
马哥python说
,赞5
重要说明,请详读:
由于采集字段较多,开发者模式中分析接口不止一个,采集程序整合多个接口开发而成,归纳如下:
以上。
此软件开发成本较高,代码量大、实现逻辑复杂,为保护个人知识版权,防止恶意盗版软件,不展示爬虫核心代码。
运行软件之前,需要填写cookie值到txt配置文件中,获取方法如下:
▲ 在开发者模式中获取cookie值
主窗口部分:
# 创建主窗口
root = tk.Tk()
root.title('蒲公英爬虫-公开版p1.4 | 马哥python说 | 定制')
# 设置窗口大小
root.minsize(width=, height=)
部分界面控件:
# 笔记关键词
tk.Label(root, justify='left', text='笔记关键词:').place(x=, y=)
entry_kw = tk.Text(root, bg='#ffffff', width=, height=, )
entry_kw.place(x=, y=, anchor='nw') # 摆放位置
日志输出控件:
# 运行日志
tk.Label(root, justify='left', text='运行日志:').place(x=, y=)
show_list_Frame = tk.Frame(width=, height=) # 创建<消息列表分区>
show_list_Frame.pack_propagate()
show_list_Frame.place(x=, y=, anchor='nw') # 摆放位置
好的日志功能,方便软件运行出问题后快速定位原因,修复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=,
backupCount=,
encoding='utf-8')
软件运行过程中生成的日志文件: