YY虎牙直播哪个更火?深度对比告诉你答案!

tmyb

今天跟大家聊聊我折腾 “yy虎牙直播” 的那些事儿,纯属个人瞎搞,大家随便看看。

起因:

最开始就是闲的。平时喜欢看直播,尤其是游戏直播,之前用手机看虎牙比较多,也时不时会瞅瞅YY上的唱歌跳舞啥的。就想着能不能自己搞点反正技术人嘛总喜欢捣鼓点东西。

YY虎牙直播哪个更火?深度对比告诉你答案!

第一步:信息收集

一开始啥也不懂,就知道虎牙是从YY分出来的,都是直播平台。就开始疯狂搜索,看看有没有大佬分享过经验。搜集一些信息,大概解一下:

  • YY历史更久,土豪多,各种年度盛典烧钱厉害。
  • 虎牙主打游戏直播,清晰度流畅度还行。
  • 两个平台用户群体不太一样,YY偏娱乐,虎牙偏游戏。
  • YY虎牙直播哪个更火?深度对比告诉你答案!

反正就是各种搜,各种看,先把大概的情况摸清楚。

第二步:技术选型

信息收集的差不多,就开始想怎么动手。我的想法是,能不能搞个小工具,可以同时看YY和虎牙的直播,不用来回切换APP。

技术选型这块,考虑几个方案:

    YY虎牙直播哪个更火?深度对比告诉你答案!

  • Python: 简单上手快,各种库也多,适合快速原型开发。
  • Java: 比较熟悉,稳定性适合做稍微大型一点的项目。
  • Electron: 可以用前端技术开发桌面应用,界面啥的比较好搞。

我选择 Python + Electron 的方案。Python 负责抓取数据,Electron 负责展示界面。主要是想快速看到效果,而且我对前端也还算熟悉。

第三步:动手开干

YY虎牙直播哪个更火?深度对比告诉你答案!

选好技术,就开始写代码。先用 Python 写个爬虫,抓取 YY 和虎牙的直播数据,包括直播间标题、主播昵称、观看人数等等。这块遇到一些坑:

  • 反爬: 虎牙的反爬机制比较严格,Headers要设置Cookie也要处理,不然很容易被ban。
  • 数据解析: 两个平台的数据格式不一样,需要分别解析,比较麻烦。

爬虫写好之后,就开始用 Electron 搭界面。用 HTML + CSS + JavaScript 写个简单的直播列表,然后把 Python 爬虫抓取的数据渲染到界面上。这块也遇到一些坑:

YY虎牙直播哪个更火?深度对比告诉你答案!

  • 跨域: Electron 应用默认不允许跨域请求,需要设置一些参数才能访问 Python 爬虫的接口。
  • 界面卡顿: 抓取数据和渲染界面都在主线程,导致界面卡顿,需要用多线程优化。

第四步:基本实现

经过一段时间的折腾,终于把基本功能实现:

YY虎牙直播哪个更火?深度对比告诉你答案!

  • 可以同时显示 YY 和 虎牙 的直播列表。
  • 可以点击直播间标题,跳转到对应的直播页面。

虽然功能很简单,界面也很丑陋,但是至少能用。

第五步:后续优化

YY虎牙直播哪个更火?深度对比告诉你答案!

后面我又做一些优化:

  • 优化界面,稍微美观一点。
  • 增加搜索功能,可以搜索主播或者直播间标题。
  • 增加自动刷新功能,可以定时刷新直播列表。

YY虎牙直播哪个更火?深度对比告诉你答案!

这回折腾 “YY 虎牙直播” 的经历,让我学到很多东西:

  • 对 Python 爬虫有更深入的解。
  • 对 Electron 的使用更加熟练。
  • 对直播平台的数据抓取和展示有更清晰的认识。
  • YY虎牙直播哪个更火?深度对比告诉你答案!

这个小工具还有很多不足之处,比如性能不够功能不够完善等等。但是,作为一个练手项目,已经足够。以后有机会,我会继续完善它。

这回瞎搞还挺有意思的。技术嘛就是要多折腾才能进步!