huya弹幕提取小尝试

"""爬取实时的虎牙弹幕"""
"""不出现重复弹幕"""
"""不遗漏弹幕"""
from selenium import webdriver
import time

web = webdriver.Chrome()
web.get('https://www.huya.com/52333')
"""第一版"""
# while True:
#     bullets_chat  = web.find_elements_by_xpath('//*[@id="chat-room__list"]/div/div/span[3]')
#     for bullet in bullets_chat:
#         if bullet.text:
#             print(bullet.text)  
#     time.sleep(3)
# 缺点:会出现重复弹幕,为减少重复弹幕增加sleep时间会遗漏弹幕 
"""第二版""" 
# bbb = []
# while True:
    
#     bullets_chat  = web.find_elements_by_class_name('msg')
#     for bullet in bullets_chat:
#         if bullet.text and bullet.text not in bbb: 
#             print(bullet.text)
#             bbb.append(bullet.text)
      
#     time.sleep(0.5)  
# 缺点 1.bbb列表会越来越大,拖慢内存 2.如果两个人发了两个相同弹幕比如哈哈哈,只会出现1个

"""第三版"""
# bbb = []
# while True:
    
#     bullets_chat  = web.find_elements_by_class_name('msg')
#     for bullet in bullets_chat:
#         if bullet.text and bullet.text not in bbb: 
#             print(bullet.text)
#             bbb.append(bullet.text)
#     if len(bbb)>20:
#         del_num = len(bbb)-20
#         del bbb[0:del_num-1]
      
#     time.sleep(0.5)
# 缺点:如果两个人发了两个相同弹幕比如哈哈哈,只会出现1个

最后想到的解决方案是将data-cmid也提取出来,用字典存储data-cmid 和弹幕文本实现去重

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值