【爬虫工具】油管红人采集软件v2.0,一键筛选youtube博主信息,含邮箱,出海必备

0 阅读6分钟

一、背景分析

1.1 开发背景

采集目标-油管红人

YouTube 作为全球头部视频社交平台,汇聚上亿日活用户及多元地区红人生态,具备极高商业价值。精准采集平台用户数据,有助于深入洞察红人创作动态及商业潜力,推动高效业务合作。基于此需求,我独立开发了“油管博主采集软件v2.0”,基于 Python 技术栈实现全自动化数据采集。

为什么版本号是2.0?因为之前发布过模拟浏览器框架的初始版本,现已升级为调用官方API实现的2.0版本。

1.2 软件界面

软件运行界面:

软件运行界面

1.3 结果展示

爬取结果1:(字段实在太多了,我分成2张图展示)

结果一:前10字段

结果二:后12字段

爬取结果2:(清晰版)

docs.qq.com/sheet/DVEFhZlFKR1NXVEdN?tab=ht1erv

1.4 软件说明

几点重要说明,请详读了解:

1、支持Windows/Mac双端运行,无需配置Python环境,打开即用!
2、软件通过调用油管官方api接口实现,无反爬风险
3、支持筛选:品牌关键词 / 国家地区 / 粉丝数范围
4、爬取过程中,每爬一条,存一次csv。并非爬完最后一次性保存,防止因异常中断导致丢失前面的数据(每条间隔1~2s,可自定义设置)
5、爬取过程中,有log文件详细记录运行过程,方便回溯
6、博主csv含22个核心字段:搜索关键词,页码,视频标题,视频链接,当前视频播放数,博主名称,博主链接,频道id,频道链接,国家,telegram链接,whatsapp链接,twitter链接,facebook链接,instagram链接,tiktok链接,粉丝数,视频总数,总观看次数,注册日期,邮箱_说明,邮箱_更多

二、代码实现

2.1 整体架构

完整模块采用python语言开发,主要分工如下:

tkinter:GUI软件界面  
requests:爬虫请求  
threading:多线程采集
json:解析响应数据  
csv:导出csv结果
logging:日志记录

下面介绍python主要实现逻辑。

2.2 软件界面

软件主体界面采用tkinter开发,快速构建前端界面。

gui界面:

# 创建主窗口
root = tk.Tk()
root.title('油管红人采集软件v2.0 | 马哥python说')
# 设置窗口大小
root.minsize(width=900, height=650)
# 左上角图标
root.iconbitmap('mage.ico')

2.2 爬虫采集

YouTubeApiClient类:YouTube Data API v3 封装

搜索视频 → search_videos() # 搜索关键词,返回视频列表
获取频道 → get_channels() # 批量获取频道详情(粉丝数等)
获取视频 → get_videos() # 批量获取视频详情(播放量等)
获取地区 → get_regions() # 获取全球国家代码映射

YouTubeSpider类:爬虫核心逻辑

分两个阶段采集:

Phase 1(API阶段)
├── 关键词搜索视频(每页50条)
├── 提取频道ID,去重
├── 批量调API获取频道基础信息(粉丝数/国家/注册时间)
└── 过滤:粉丝数范围、国家地区

Phase 2(网页补抓,可选)
└── 访问频道 About 页面
├── 正则提取邮箱
├── 正则提取社媒链接(Telegram/WhatsApp/Twitter等)
└── 补充 API 无法获取的联系信息

2.3 日志记录

Log_week类:日志模块

日志同时写入软件界面和本地文件,持久存储。

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)
	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/'
	if not self.logger.handlers:
		# 控制台日志
		sh = logging.StreamHandler()
		info_handler = TimedRotatingFileHandler(filename=case_dir + info_file_name,
												when='MIDNIGHT',
												interval=1,
												backupCount=7,
												encoding='utf-8')
		self.logger.addHandler(sh)
		sh.setFormatter(log_formatter)
		self.logger.addHandler(info_handler)
		info_handler.setFormatter(log_formatter)
	return self.logger

三、使用介绍

3.1 配置API key

如前言所说,软件已升级为全新的2.0版本-调用YouTube官方api采集接口数据,软件运行前,需配置好个人申请的API key。

API key开通方法:

key开通之后,把它填到当前目录的《config_pub.json》中,如下:

配置个人API key

顺便说一句,这个配置文件有2个参数,第2个参数是配置key,不多说了。

第1个参数,wait_sec,接口请求间隔,默认1s,可以根据需求自己调整。

3.2 启动采集

key配置好后,就可以采集了(记得打开网络,你懂得)

软件界面上,填入你关心的条件:

筛选条件

点击开始执行按钮,软件就自动批量采集了。

3.3 填写建议

1、搜索关键词

行业名、品牌名、竞品词、多词组合--找到在该领域发内容的博主

填写建议:

场景关键词策略效果
精准定位博主直接用品牌名/竞品词找到在该领域发内容的博主
泛采集用泛词如 “beauty”, “gaming”采集量大但博主的类型杂
蹭热点用当下热门话题短时间内找到最新活跃博主
多词组合“beauty tutorial" "skincare review”一次采多个方向的博主

2、国家/地区

填写支持中文/英文,如不确定,内附标准国家名称表《country.json》供参考。

填写建议:

场景国家策略作用
品牌出海选目标市场国家(美国/英国/澳洲)精准对接本地博主
跨文化内容选日韩/东南亚找对中国品牌感兴趣的本地博主
规避竞争选小语种国家(法国/德国/巴西)红海中的蓝海
批量采集留空(不限制国家)最大范围采集,不漏任何博主

3、粉丝数范围

通过粉丝数范围,精准定位博主量级,快速达成链接合作。

填写建议:

粉丝区间适用场景博主特点
0 ~ 1万素人/刚起步价格低、配合度高,但数据不稳定
1万 ~ 10万腰部博主性价比最高,商业化意识初成
10万 ~ 50万头部初阶有一定影响力,报价适中
50万 ~ 500万KOL顶流影响力大,但报价高、配合度低
500万+超级博主顶奢品牌专属,普通人基本用不起

最后,一句话总结,怎么用好筛选条件:

关键词决定找什么内容的博主,国家决定找哪个市场的博主,粉丝数决定找什么级别的博主。三个条件配合使用,才能精准锁定目标,节省时间和成本。

四、演示视频

软件使用过程完整演示视频:

mp.weixin.qq.com/s/Pn6QrsQ1YTYAao3DWWYovg

END、作者声明

"爬油管博主软件"首发公号"老男孩的平凡之路",欢迎技术交流、深入探讨。

本软件由本人独立原创开发,本文章由本人原创编写,请勿二创或任何形式的转载、盗发,违者必究!