利用DrissionPage库写一个简单的哔哩哔哩自动评论引流脚本

news2024/10/7 10:24:43

以前利用selenium写过哔哩哔哩简单的脚本,后来数据丢失,痛苦万分,今天看到这个库了解一下便写了这个脚本。

切记做好数据备份

文章目录

    • DrissionPage简介:
    • 代码部分

DrissionPage和selenium很像,但是更简单,配置也是

DrissionPage简介:

DrissionPage 是一个基于 python 的网页自动化工具。

  • 它既能控制浏览器,也能收发数据包,还能把两者合而为一。

  • 可兼顾浏览器自动化的便利性和 requests 的高效率。

  • 它功能强大,内置无数人性化设计和便捷功能。

  • 它的语法简洁而优雅,代码量少,对新手友好。

代码部分

为避免风险,将元素替换为汉字了,仅供学习
建了一个公众号,后续会在上面更新一些有用资源和笔记,大家有兴趣的话可以加一下谢谢了。
在这里插入图片描述


from DrissionPage import ChromiumPage
from urllib.parse import quote
import pickle
import time

page = ChromiumPage()
list = ["口袋觉醒"]

# 遍历list

for i in list:
 original_str = i
 encoded_str = quote(original_str)
 input_url = "https://search.bilibili.com/all?vt=25182142&keyword=" + encoded_str + "&from_source=webtop_search&spm_id_from=333.1007&search_source=5"
 page.get(input_url)
 time.sleep(3)

 # 获取所有class为bili - video - card__info - -tit的元素
 videoTitle = page.eles('.bili视频卡片__信息--标题')
 print(len(videoTitle))

 # 遍历videoTitle
 for index in range(len(videoTitle)):
     # 每次循环前重新获取元素列表,防止引用失效
     videoTitles = page.eles('.bili视频卡片__信息--标题')
     videoTitles[index].click()
     page.wait.new_tab()  # 等待新标签页出现
     tab = page.get_tab(page.latest_tab)  # 获取指定标签页对象

     # 弹幕
     barrage = tab.ele('.bpx-播放器-弹幕-输入')
     if barrage:
         barrage.click()
         barrage.input("开心")
         send = tab.ele('.bui-区域 bui-蓝色按钮')
         send.click()
         time.sleep(1)

         # 评论区
         pinglun = tab.ele('.回复框-文本区域')
         pinglun.scroll.to_see()
         pinglun.click()
         tab.ele('.回复框-文本区域 焦点').input("ll")
         publish = tab.ele('.回复框-发送 发送-激活').ele('.发送文本')
         time.sleep(3)
         publish.click()

     tab.close()
     time.sleep(3)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

展厅设计的理念是什么

1、立足当地文化 升华本地精神 ,因地制宜,深入挖掘本土文化特色,撷取其精华,灵活运用、巧妙融入,做到掌控宏观全局。 重点突出,努力打造本土拳头品牌,挖掘其内涵,拓展延伸、着重展示…

cannot import name ‘Iterator‘ from ‘torchtext.data‘

在运行Transformer工程的时候,执行如下语句时出现题目中的报错。 from torchtext.data import Iterator 这个问题解决起来比较曲折,记录下来以备后续查阅。 原来的环境安装的是最新的pytorch,2.x版本,而且该环境在另一个大型Tr…

36102系列微波测量探针

01 36102系列微波测量探针 产品综述: 微波测量探针产品36102系列,无缝隙覆盖DC~110GHz,触点防堆金处理,压痕轻,性能可靠,产品统一采用标准同轴安装接口,触点类型、触点尺寸可选,可…

python64-Python的循环之嵌套循环

如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。嵌套循环既可以是for-in 循环嵌套while循环,也可以是while循环嵌套do while循环.即各种类型的循环都可以作为外层循环,各种类型的循环也都可以作为内层循环。 当程序遇到嵌套循环时,如果外层循环的循环条件允许…

PSO-CNN-LSTM多输入分类预测|粒子群算法优化的卷积-长短期神经网络分类预测(Matlab)——附代码+数据

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序数据分享下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台…

韩国量子之梦:将量子计算纳入新增长 4.0战略

内容来源:量子前哨(ID:Qforepost) 编辑丨王珩 编译/排版丨沛贤 深度好文:1500字丨9分钟阅读 据《朝鲜邮报》报道,韩国将推出由量子计算加速的云服务,并在首尔地区启动城市空中交通的试飞&…

Android 混淆是啥玩意儿?

什么是混淆 Android混淆,是伴随着Android系统的流行而产生的一种Android APP保护技术,用于保护APP不被破解和逆向分析。简单的说,就是将原本正常的项目文件,对其类、方法、字段,重新命名a,b,c…之类的字母&#xff0c…

贝叶斯优化双向门控循环单元BO-BIGRU时序预测的matlab实现【源代码】

贝叶斯优化双向门控循环单元简介: 贝叶斯优化双向门控循环单元(BO-BIGRU)是一种结合了贝叶斯优化和双向门控循环单元(BIGRU)的神经网络模型。BIGRU是一种改进的循环神经网络(RNN),它…

Java+SpringBoot,打造社区疫情信息新生态

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

新一代科学计算与系统建模仿真平台MWORKS 2024a震撼发布:产品强势进化,更新亮点速览!

2月25日,同元软控成功举办MWORKS 2024产品发布会,会上公布了新版MWORKS的设计理念、关键技术、版本亮点、产品特性以及重大改进。当前,科学计算与系统建模仿真平台MWORKS 2024a已正式上线,开放下载。 MWORKS已成为全球第4个完整的…

DVWA 靶场 SQL 注入报错 Illegal mix of collations for operation ‘UNION‘ 的解决方案

在 dvwa 靶场进行联合 SQL 注入时,遇到报错 Illegal mix of collations for operation UNION 报错如下图: 解决办法: 找到文件 MySQL.php 大致位置在 \dvwa\includes\DBMS 目录下 使用编辑器打开 检索 $create_db 第一个就是 在 {$_DVW…

[伴学笔记]01-操作系统概述 [南京大学2024操作系统]

文章目录 前言jyy:01-操作系统概述 [南京大学2024操作系统]为什么要学操作系统?学习操作系统能得到什么? 什么是操作系统?想要明白什么是操作系统:时间线:1940s1950s-1960s1960-1970s年代. 信息来源: 前言 督促自己,同时分享所得,阅读完本篇大约需要10分钟,希望为朋友的技术…

获取PDF中的布局信息——如何获取段落

PDF解析是极其复杂的问题。不可能靠一个工具解决全部问题,尤其是五花八门,格式不统一的PDF文件。除非有钞能力。如果没有那就看看可以分为哪些问题。 提取文本内容,提取表格内容,提取图片。我认为这些应该是分开做的事情。python有…

FreeRTOS 其它知识点

目录 一、低功耗Tickless模式 1、低功耗Tickless模式的引入 2、Tickless 具体实现 二、空闲任务 1、空闲任务相关知识点 2、钩子函数 3、空闲任务钩子函数 三、使用RTOS的好处 一、低功耗Tickless模式 1、低功耗Tickless模式的引入 FreeRTOS 的系统时钟是由滴答定时器中…

多个 JDK 版本(Java 8、Java 17、Java 21)下载和切换

文章目录 多个 JDK 版本(Java 8、Java 17、Java 21)下载和切换1. 下载 JDK2. 配置环境变量3. JDK 版本切换4. 测试5. 在 IDEA 中切换 JDK注意: 多个 JDK 版本(Java 8、Java 17、Java 21)下载和切换 随着 Spring Boot …

SAP 科目XXXX 不允许未资产负债表科目(AC305,AC306)

SAP 科目XXXX 不允许未资产负债表科目(AC305,AC306) AO90配置如下: 报错消息如下: 问题原因: 按照中国会计制度要求,对于固定资产的转出处置需要通过“固定资产清理”科目来过渡处理&#…

基于JAVA,SpringBoot和Vue二手商城交易系统设计

摘要 本课题旨在开发一个基于Java语言,结合SpringBoot框架和Vue前端技术的二手商城交易系统。这个系统提供一个用户友好的界面,使得用户可以方便地浏览、发布、购买和出售二手商品。通过使用SpringBoot作为后端服务框架,该系统能够快速搭建并…

基于SSM医院电子病历管理系统的设计与实现(源代码+数据库脚本+万字文档+PPT)

系统介绍 医院电子病历管理系统主要是借助计算机,通过对医院电子病历管理系统所需的信息管理,增加用户的选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。医院电子病历管理系统 对用户带来了更多的便利&#xff0c…

nginx设置缓存时间、日志分割、开启多进程、网页压缩、配置防盗链

一、设置缓存时间 当网页数据返回给客户端后,可针对静态网页设置缓存时间,在配置文件内的http段内server段添加location,更改字段expires 1d来实现:避免重复请求,加快访问速度 第一步:修改主配置文件 #修…

Sora如何申请,Sora如何使用(最新详细教程)

引言 OpenAI发布的Sora模型以及有一段时间了~现在在tiktok的sora官网上也时长发布最新的视频。 OpenAI Tiktok的官网 那么普通人如何申请sora和使用sora呢,可以参考以下方式~ 1、虚假的Sora使用渠道2、真实的Sora使用渠道3、什么是OpenAI Red Teaming Network4、…