这是一个基于 Python 和 Selenium 的 YouTube 视频评论爬虫工具。项目提供了三个不同版本的实现,具有不同的功能和性能优化。
- 自动化爬取 YouTube 视频评论
- 支持基于关键词的多视频爬取
- 内置反爬虫检测措施
- 评论数据收集包括:
- 评论作者
- 评论内容
- 评论时间
- 点赞数
- 视频链接
- 数据导出为 CSV 格式
- 自动加载评论和分页处理
- 相对时间转换为绝对日期
- 随机延迟和用户代理轮换以避免被检测
Youtube.py- 基础版本,用于爬取单个视频的评论Youtube_all.py- 增强版本,支持多视频和关键词搜索Youtube_allspeed.py- 优化版本,包含性能改进和执行时间跟踪
- Python 3.12
- Chrome 浏览器
- ChromeDriver(由 webdriver-manager 自动管理)
- 克隆此仓库
- 安装所需包:
pip install -r requirements.txtfrom Youtube import YouTubeScraper
scraper = YouTubeScraper()
try:
comments = scraper.scrape_video("视频URL")
# 处理评论数据...
finally:
scraper.close()from Youtube_all import YouTubeScraper
scraper = YouTubeScraper()
try:
# 基于关键词搜索和爬取视频
keywords = ["关键词1", "关键词2"]
for keyword in keywords:
video_links = scraper.search_videos(keyword, max_videos=5)
for url in video_links:
comments = scraper.scrape_video(url)
# 处理评论数据...
finally:
scraper.close()from Youtube_allspeed import YouTubeScraper
scraper = YouTubeScraper()
try:
# 与 Youtube_all.py 类似,但包含性能优化
# 和执行时间跟踪
keywords = ["关键词1", "关键词2"]
for keyword in keywords:
video_links = scraper.search_videos(keyword, max_videos=5)
for url in video_links:
comments = scraper.scrape_video(url)
# 处理评论数据...
finally:
scraper.close()爬取的数据将以 CSV 格式保存在 output 目录中,包含以下列:
- 评论作者
- 评论内容
- 评论时间
- 评论点赞数
- 视频链接
- 关键词(多视频爬取时)
- 爬虫包含反爬虫检测措施,但仍可能触发 YouTube 的安全机制
- 某些情况下可能需要手动验证
- 请负责任地使用,遵守 YouTube 的服务条款
- 建议在请求之间添加适当的延迟以避免被限制
本项目仅用于教育目的。请负责任地使用,并遵守 YouTube 的服务条款。# YouTube-