您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何使用Python+selenium實現趣頭條的視頻自動上傳與發布”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用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 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()
首先在 chrome 快捷方式的目標后面加上這個參數。
前面是代表調試端口,可以隨便用端口,后面指向一個新的文件夾用于存儲用戶數據。
注: 后面的參數如果不加上,端口啟用好像會失敗,目前沒有找到原因。
--remote-debugging-port=5003 --user-data-dir="C:\Py_selenium\auto"
然后雙擊快捷快捷方式打開瀏覽器就好了,現在瀏覽器就能被控制了。
不確定端口是否啟用,可以在 cmd 用下面的方法查看端口啟用情況。
C:\Users\Administrator>netstat -ano | findstr 5003 TCP 127.0.0.1:5003 127.0.0.1:53546 FIN_WAIT_2 12180 TCP 127.0.0.1:5003 127.0.0.1:53547 TIME_WAIT 0 TCP 127.0.0.1:5003 127.0.0.1:53858 FIN_WAIT_2 12180 TCP 127.0.0.1:5003 127.0.0.1:53859 TIME_WAIT 0 TCP 127.0.0.1:5003 127.0.0.1:53900 FIN_WAIT_2 12180 TCP 127.0.0.1:5003 127.0.0.1:53901 TIME_WAIT 0 TCP 127.0.0.1:53546 127.0.0.1:5003 CLOSE_WAIT 15540 TCP 127.0.0.1:53858 127.0.0.1:5003 CLOSE_WAIT 9108 TCP 127.0.0.1:53900 127.0.0.1:5003 CLOSE_WAIT 16320
通過訪問調試端口控制已啟用的瀏覽器。
from selenium import webdriver # 另一個導入chrome參數的方法 # from selenium.webdriver.chrome.options import Options # options = Options() options = webdriver.ChromeOptions() options.add_experimental_option("debuggerAddress", "127.0.0.1:5003") driver = webdriver.Chrome(options = options) print(driver.title)
運行效果圖:
一開始我覺得導入外部文件是需要操作 windows 的文件窗口呢,后來發現原來不用那么麻煩,只要給文件上傳的元素傳一個本地路徑就好了,就是一個 input 類型的。
右鍵元素點擊檢查可以看到對應的元素。
然后 send_keys() 傳入路徑就好了。
driver.find_element_by_xpath('//input[@type="file"]').send_keys('C:\\Users\\Administrator\\Desktop\\文件.zip')
以上是“如何使用Python+selenium實現趣頭條的視頻自動上傳與發布”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。