Python+Selenium实现短视频自动上传与发布的实践
作者:蚂蚁爱Python 发布时间:2021-06-12 15:58:46
标签:Python,Selenium,短视频,自动上传
前言
最近有人对自动上传与发布很感兴趣,都私下找我说了好几次了。今天,必须把他安排,必须实力宠粉。
“本篇依次介绍目前主流的短视频平台(抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等)的短视频自动发布,希望帮助大家更方便、高效的来进行自媒体的创作与管理。
第一章:效果展示
① 效果展示
② 素材展示
一个为视频,另一个为像素大小不小于视频的封面。
第二章:实现过程
① 调用已启用的浏览器
通过调用已启用的浏览器,可以实现直接跳过每次的登录过程。另外,搜索公众号python人工智能技术后台回复“名著”,获取一份
惊喜礼包。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option
("debuggerAddress", "127.0.0.1:5003")
driver = webdriver.Chrome(options = options)
② 上传视频和封面
#上传视频
driver.find_element_by_xpath('//input
[@type="file"]').send_keys(path_mp4)
#等待视频上传完成
while True:
time.sleep(3)
try:
driver.find_element_by_xpath('//*[contains(text(),"上传成功")]')
break;
except Exception as e:
print("视频还在上传中···")
print("视频已上传完成!")
#添加封面
time.sleep(1)
driver.find_element_by_xpath('//*
[@class="el-upload"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[text()
="自定义封面"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[text()
="选择图片"]/../..//input
[@type="file"]').send_keys(path_cover)
time.sleep(3)
driver.find_element_by_xpath('//*[text()
="确 定"]').click()
③ 完整源码展示
import selenium
from selenium import webdriver
import pathlib
import time
from selenium.webdriver.common.keys
import Keys
#基本信息
#视频存放路径
catalog_mp4 = r"C:\Users\Administrator\Desktop\视频发布"
#视频描述describe = "裸眼3D看蜘蛛侠 #搞笑 #电影 #视觉震撼"
time.sleep(10)
options = webdriver.ChromeOptions()
options.add_experimental_option
("debuggerAddress", "127.0.0.1:5003")
driver = webdriver.Chrome(options
= options)
path = pathlib.Path(catalog_mp4)
#视频地址获取
path_mp4 = ""
for i in path.iterdir():
if(".mp4" in str(i)):
path_mp4 = str(i);
break;
if(path_mp4 != ""):
print("检查到视频路径:" + path_mp4)
else:
print("未检查到视频路径,程序终止!")
exit()
#封面地址获取
path_cover = ""
for i in path.iterdir():
if(".png" in str(i) or ".jpg" in str
(i)):
path_cover = str(i);
break;
if(path_cover != ""):
print("检查到封面路径:" + path_cover)else:
print("未检查到封面路径,程序终止!")
exit()
def publish_qutoutiao():
'''
作用:发布趣头条视频
'''
# 进入创作者页面,并上传视频
driver.get
("https://mp.qutoutiao.net/publish-content/video")
time.sleep(2)
driver.find_element_by_xpath('//input[@type="file"]').send_keys(path_mp4)
# 等待视频上传完成
while True:
time.sleep(3)
try:
driver.find_element_by_xpath('//*[contains(text(),"上传成功")]')
break;
except Exception as e:
print("视频还在上传中···")
print("视频已上传完成!")
# 输入标题
driver.find_element_by_xpath('//*
[@placeholder="内容标题5-30字"]').
clear()
time.sleep(2)
driver.find_element_by_xpath('//*
[@placeholder="内容标题5-30字"]').send_keys
(describe)
# 输入描述信息
time.sleep(1)
driver.find_element_by_xpath
('//textarea').clear()
time.sleep(2)
driver.find_element_by_xpath
('//textarea').send_keys(describe)
# 选择分类
time.sleep(1)
driver.find_element_by_xpath('//*[@placeholder="请选择分类"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[text()="电影"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[text()="分类:"]').click()
time.sleep(1)
# 输入标签
time.sleep(1)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').click()
time.sleep(2)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').send_keys("视觉震撼")
time.sleep(2)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').send_keys(Keys.ENTER)
time.sleep(2)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').send_keys("搞笑")
time.sleep(2)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').send_keys(Keys.ENTER)
time.sleep(2)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').send_keys("电影")
time.sleep(2)
driver.find_element_by_xpath('//*
[@class="content-tag"]//input').send_keys(Keys.ENTER)
# 添加封面
time.sleep(1)
driver.find_element_by_xpath('//*
[@class="el-upload"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[text()="自定义封面"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[text()="选择图片"]/../..//input[@type="file"]').send_keys(path_cover)
time.sleep(3)
driver.find_element_by_xpath('//*[text()="确 定"]').click()
#人工进行检查并发布
#time.sleep(3)
#点击发布
#driver.find_element_by_xpath('//*[text()="发布"]').click()
#开始执行视频发布publish_qutoutiao()
来源:https://blog.csdn.net/xff123456_/article/details/124122388


猜你喜欢
- 如下所示:import osdef anyTrue(predicate, sequence):return True in map(pred
- 异常的传递性在 Python 中,异常的传递性指的是,当一个异常没有被处理时,它会沿着调用栈向上抛出,直到被处理或者导致程序崩溃。具体来说,
- python 换位密码算法的实例详解一前言:换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而
- 本文实例总结了Python2与Python3的区别。分享给大家供大家参考,具体如下:Python的3??.0版本相对于Python的早期版本
- 前端模块化关注前端技术发展的各位亲们,肯定对模块化开发这个名词不陌生。随着前端工程越来越复杂,代码越来越多,模块化成了必不可免的趋势。各种标
- 使用 pd.Series把dataframe转成Seriests = pd.Series(df['Value'].value
- 相信在使用MSSQL数据库下使用事务回滚方式操作多表记录的时候,会经常出现“不能在手动或分布事务方式下创建新的连接”的出错提示信息,这个问题
- Python运算符重载 Python语言提供了运算符重载功能,增强了语言的灵活性
- 代码使用方法:0001:判断一个计算结果是不是无穷大:if(isFinite(999999999*999999999) == true)--
- 工作中常常会创建一个函数来解决一些需求问题,以下是个人在工作中总结出来的创建函数20种方式,你知道多少?function sayHello(
- 本文实例为大家分享了js瀑布流加载效果,动态加载图片,供大家参考,具体内容如下鼠标滚动事件,当鼠标滚动到下边,动态加载图片。1. HTML代
- vue+element表格实现多层数据嵌套今天用element的表格渲染了商城的购物车列表,element的表格之前也用到过,它把所有的东西
- 本文实例为大家分享了html5 canvas在图片上画超链接的具体代码,供大家参考,具体内容如下1. html<canvas id=&
- Py2 时代,访问 MySQL 数据库的模块除了 PyMySQL 和 MySQL-python 之外,还有以速度见长的 Umysql,以及非
- SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对S
- 我就废话不多说了,直接上代码吧!import urllib.requestimport requestsimport timeimport
- I/O吞吐量小,形成了瓶颈效应。 没有创建计算列导致查询不优化。 内存不足。 网络速度慢。 查询出的数据量过大(可以采用多次查询,其他的方法
- 但是怎么找到是哪个SQL语句的执行时间过长呢?可以通过MySQL Slow Log来找,详解如下。 首先找到MySQL的配置文件my.cnf
- MongoDB是一个文档型数据库,是NOSQL家族中最重要的成员之一,以下代码封装了MongoDB的基本操作。MongoDBConfig.j
- ASP给图片加水印是需要组件的...常用的有aspjpeg软件和中国人自己开发的wsImage软件,可以上网搜索下载这两个软件,推荐使用咱们