IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 用15行以内的Python代码优雅的写出一个弹幕机 -> 正文阅读

[Python知识库]用15行以内的Python代码优雅的写出一个弹幕机

爱学习的我最近发现:B站上总是给我推荐诸如Python、C++还有Vue的教学主播,但是我发现他们都一个个的猛讲内容,只有等讲完了才看看弹幕,而且他们都习惯性的把弹幕机放在桌面上。这显然很占地方。

于是我想到了个方法,既可以让这些主播放心的桥他们的代码,也可以在不占用空间的情况下读到

弹幕。

声明!这种方法仅对只教学Python或者对终端依赖度不是特别高的主播有用!

环境准备

这一次的工程相对的较小,因此需要准备的东西也不多,只需要一个Selenium就可以了。

可能聪明的你已经想到了:是的,思路很简单,就是用Selenium不断地去刷新并获取弹幕列表并打印在终端上。

那么,开始写代码吧

首先我们需要先导入所用到的库

from selenium import webdriver
import time

这里为什么要导入time库呢?后文我们慢慢讲

这时我们需要创建一个设置的实例化

#这里我用的是谷歌浏览器,所以在调用函数时用的是ChromeOptions()
#所以在你实际写的时候你需要考虑自己要用的浏览器内核
options = webdriver.ChromeOptions()

?为其添加无头属性属性,这么做可以节省一个浏览器的空间,selenium也不会启动本地的浏览器实例

options.add_argument("--headless")

启动浏览器实例

#启动浏览器内核,使用options参数将option添加进去
driver = webdriver.Chrome(options=options)

获取网页,这里以斗鱼为例

driver.get("http://douyu.com/606118")

通过观察标签树,我们发现所有的弹幕都存在了一个属性为Barrage-List的ul标签下

因此我们的核心也就很明确了:循环遍历这里元素,并打印标签中的文档流即可。

while True:
    #获取弹幕列表
    bullets = driver.find_elements_by_class_name("Barrage-list")
    #循环遍历列表中的每个元素
    for bullets in bullets:
        #使用.text属性打印出文档流
        print(bullets.text)
        #设置两秒一循环,以防止弹幕滚动过快
        time.sleep(2)
    """
    这里等待三秒是因为无论哪个直播平台,弹幕基本都是靠js和Ajax这些东西进行渲染
    #因此等待三秒的目的是为可等js和Ajax把弹幕加载完毕,防止selenium过度访问而没有
    元素的尴尬情况。
    """
    time.sleep(3)

?实际运行效果如下:

怎么样?效果还是相当不错的吧,但是值得提及的一点:就是我们在打印的时候是调用了.text属性进行打印,因此弹幕送出的礼物只能看到数量,看不到具体礼物的名称是什么。暂时我还没有找到什么解决的办法。

那么好了,本期Python直播弹幕机制作的分享就到这里了,喜欢的话记得点赞,打赏转发文章哦。

我是Deahost,我们下期再见!

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:29:40  更:2021-08-15 15:31:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:08:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码