社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python+selenium实现短视频自动上传与发布

马哥Linux运维 • 3 年前 • 431 次点击  

本系列依次介绍目前主流的短视频平台(抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等)的短视频自动发布,希望帮助大家更方便、高效的来进行自媒体的创作与管理。【本文介绍的是趣头条的短视频自动发布】

Python+selenium 自动化 - 趣头条的短视频自动上传与发布

第一章:效果展示

① 效果展示

② 素材展示

一个为视频,另一个为像素大小不小于视频的封面。

第二章:实现过程

① 调用已启用的浏览器

通过调用已启用的浏览器,可以实现直接跳过每次的登录过程。

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 seleniumfrom selenium import webdriverimport pathlibimport timefrom 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()

文章转载:Python编程学习圈
(版权归原作者所有,侵删)

点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/126862
 
431 次点击