国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

用自動化工具selenium批量獲取油管播放列表內(nèi)視頻的url

這篇具有很好參考價值的文章主要介紹了用自動化工具selenium批量獲取油管播放列表內(nèi)視頻的url。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

用自動化工具selenium批量獲取油管播放列表內(nèi)視頻的url

今天突發(fā)奇想想下載一些古早哆啦A夢的視頻,看了一下B站上沒有我滿意的形式,所以上油管看了一下:
油管播放列表 網(wǎng)址提取,嘗試用python實(shí)現(xiàn)一些小功能,selenium,音視頻,python

不錯不錯,配合我的油管視頻解析網(wǎng)站可以直接下載到本地

唯一的問題就是:一個一個復(fù)制鏈接太麻煩了?。?!

如果有一個工具可以批量復(fù)制列表內(nèi)的視頻鏈接就好了,正好現(xiàn)在在學(xué)Python,此時不用何時用?

簡單百度了一下,我把目光放在了自動化操作瀏覽器的工具Selenium上,開源、支持python、模擬操作用戶行為,是一款很不錯的工具。

太長不看版:文末會附上完整代碼,有兩處需要自行修改得到地方

首先就是selenium庫的安裝

pip install selenium

我這里用的是Chrome瀏覽器,所以在這里下載Chrome瀏覽器的驅(qū)動,其他瀏覽器可以自行在網(wǎng)上查找,注意下載對應(yīng)本瀏覽器版本的驅(qū)動。

然后導(dǎo)入庫:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

我們的核心任務(wù)就是使用selenium獲取視頻url:

def get_playlist_video_urls(playlist_url):
    ...
    return video_urls

輸入視頻列表的url,輸出存放所以視頻url的列表

編寫函數(shù)內(nèi)容:

  1. 設(shè)置瀏覽器的驅(qū)動路徑
    driver_path = r'在這里輸入你的驅(qū)動存放路徑'
    
  2. 初始化:
    service = webdriver.ChromeService()
    driver = webdriver.Chrome(service=service)
    service = webdriver.ChromeService(executable_path=driver_path)
    
  3. 打開播放列表頁面,等待加載,這里等待時間根據(jù)網(wǎng)絡(luò)和電腦性能調(diào)整:
    driver.get(playlist_url)
    time.sleep(5)
    
  4. 模擬滾動,加載所有視頻:
    last_height = driver.execute_script("return document.documentElement.scrollHeight")
    while True:
        driver.execute_script("window.scrollTo(0, document.documentElement.scrollHeight);")
        time.sleep(2)
        new_height = driver.execute_script("return document.documentElement.scrollHeight")
        if new_height == last_height:
            break
        last_height = new_height
    
  5. 獲取所有鏈接:
    video_links = driver.find_elements(by=By.XPATH,value='//*[@id="video-title"]')
    video_urls = [link.get_attribute('href') for link in video_links]
    
    這里介紹一下find_elements方法:
    def find_elements(self, by=By.ID, value: Optional[str] = None) -> List[WebElement]:
    
    主要有兩個參數(shù),一個是by,一個是value
    by參數(shù)有八種值:
    class By:
    """Set of supported locator strategies."""
    
    ID = "id"
    XPATH = "xpath"
    LINK_TEXT = "link text"
    PARTIAL_LINK_TEXT = "partial link text"
    NAME = "name"
    TAG_NAME = "tag name"
    CLASS_NAME = "class name"
    CSS_SELECTOR = "css selector"
    
    通過目標(biāo)的idXPATH等參數(shù)來搜索,具體介紹參考這篇博客,我們這里使用了XPATH搜索,'value'具體語法參考另一篇博客

這下這個函數(shù)的基本結(jié)構(gòu)就完成了,只需要編寫主函數(shù)即可:

# 替換成要獲取的播放列表的URL
playlist_url = 'URL'

# 獲取播放列表中所有視頻的URL
video_urls = get_playlist_video_urls(playlist_url)

# 打印所有視頻的URL
for url in video_urls:
    print(url)

這下就可以完美輸出啦


附:

完整代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-772624.html

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

def get_playlist_video_urls(playlist_url):
    # 設(shè)置Chrome瀏覽器的驅(qū)動路徑
    driver_path = r''

    # 初始化
    service = webdriver.ChromeService()
    driver = webdriver.Chrome(service=service)
    service = webdriver.ChromeService(executable_path=driver_path)

    # 打開播放列表頁面,等待頁面加載
    driver.get(playlist_url)
    time.sleep(5)

    # 模擬滾動以加載所有視頻
    last_height = driver.execute_script("return document.documentElement.scrollHeight")
    while True:
        driver.execute_script("window.scrollTo(0, document.documentElement.scrollHeight);")
        time.sleep(2)
        new_height = driver.execute_script("return document.documentElement.scrollHeight")
        if new_height == last_height:
            break
        last_height = new_height

    # 獲取所有視頻鏈接
    video_links = driver.find_elements(by=By.XPATH,value='//*[@id="video-title"]')
    video_urls = [link.get_attribute('href') for link in video_links]

    # 關(guān)閉瀏覽器
    driver.quit()

    return video_urls

if __name__ == "__main__":
    # 替換成您要獲取的播放列表的URL
    playlist_url = 'URL'

    # 獲取播放列表中所有視頻的URL
    video_urls = get_playlist_video_urls(playlist_url)

    # 打印所有視頻的URL
    for url in video_urls:
        print(url)

到了這里,關(guān)于用自動化工具selenium批量獲取油管播放列表內(nèi)視頻的url的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何使用Python自動化測試工具Selenium進(jìn)行網(wǎng)頁自動化?

    如何使用Python自動化測試工具Selenium進(jìn)行網(wǎng)頁自動化?

    Selenium 是一個流行的Web自動化測試框架, 它支持多種編程語言和瀏覽器,并提供了豐富的API和工具來模擬用戶在瀏覽器中的行為 。 Selenium可以通過代碼驅(qū)動瀏覽器自動化測試流程,包括頁面導(dǎo)航、元素查找、數(shù)據(jù)填充、點(diǎn)擊操作等。 與PyAutoGUI和AutoIt相比, Selenium更適合于處

    2023年04月09日
    瀏覽(111)
  • 自動化測試工具——Selenium詳解

    自動化測試工具——Selenium詳解

    Selenium是一個用于Web應(yīng)用程序測試的工具。是一個開源的Web的自動化測試工具,最初是為網(wǎng)站自動化測試而開發(fā)的,類型像我們玩游戲用的按鍵精靈,可以按指定的命令自動操作,不同是Selenium可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器,支持的瀏覽器包括IE(7, 8,

    2024年01月20日
    瀏覽(24)
  • 學(xué)會自動化必備工具-Selenium-再想著入坑自動化測試吧

    學(xué)會自動化必備工具-Selenium-再想著入坑自動化測試吧

    隨著近些年IT行業(yè)的發(fā)展,軟件測試人才的需求越來越大,也有很多小伙伴在考慮入坑,而軟件測試中,收入相對較高的就是自動化了,所以這次就專門為大家簡單介紹下自動化測試的必備工具Selenium。 Selenium是一款基于Web應(yīng)用程序的開源測試工具 ,直接運(yùn)行在瀏覽器中,支

    2024年01月23日
    瀏覽(34)
  • 自動化測試(二)selenium八大獲取元素方法及對象操作

    目錄 webdriver API 腳本實(shí)例 元素的定位 1. 通過id定位: 2. 通過name方式定位 3. 通過tag name(標(biāo)簽名)定位 4. 通過class name (類名)方式定位 5.?通過CSS 方式定位 6.?通過xpath方式定位 7.?link text定位 8. Partial link text 定位 操作測試對象 ?鼠標(biāo)點(diǎn)擊與鍵盤輸入 submit 提交表單 text 獲取

    2024年02月03日
    瀏覽(61)
  • 如何實(shí)現(xiàn)批量獲取電商數(shù)據(jù)自動化商品采集?如何利用電商數(shù)據(jù)API實(shí)現(xiàn)業(yè)務(wù)增長?

    如何實(shí)現(xiàn)批量獲取電商數(shù)據(jù)自動化商品采集?如何利用電商數(shù)據(jù)API實(shí)現(xiàn)業(yè)務(wù)增長?

    隨著電子商務(wù)的快速發(fā)展,數(shù)據(jù)已經(jīng)成為了電商行業(yè)最重要的資產(chǎn)之一。在這個數(shù)據(jù)驅(qū)動的時代,電商數(shù)據(jù)API(應(yīng)用程序接口)的作用日益凸顯。通過電商數(shù)據(jù)API,商家能夠獲取到大量關(guān)于消費(fèi)者行為、產(chǎn)品表現(xiàn)、市場趨勢等有價值的信息,進(jìn)而利用這些數(shù)據(jù)優(yōu)化業(yè)務(wù)策略,

    2024年02月19日
    瀏覽(21)
  • 一文詳解:自動化測試工具——Selenium

    一文詳解:自動化測試工具——Selenium

    Selenium是一個用于Web應(yīng)用程序測試的工具。是一個開源的Web的自動化測試工具,最初是為網(wǎng)站自動化測試而開發(fā)的,類型像我們玩游戲用的按鍵精靈,可以按指定的命令自動操作,不同是Selenium可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器,支持的瀏覽器包括IE(7, 8,

    2024年01月16日
    瀏覽(30)
  • 如何使用自動化測試工具Selenium?

    如何使用自動化測試工具Selenium?

    哈嘍,大家好,我是小浪。那么有一段時間沒有更新了,還是在忙實(shí)習(xí)和秋招的事情,那么今天也是實(shí)習(xí)正式結(jié)束啦,開始繼續(xù)更新我們的學(xué)習(xí)博客,后期主要是開發(fā)和測試的學(xué)習(xí)博客內(nèi)容巨多,感興趣的小伙伴們可以一鍵三連支持一下歐~ 目錄 一、什么是自動化測試? 二、

    2024年02月11日
    瀏覽(100)
  • python自動化測試工具selenium

    selenium 是網(wǎng)頁應(yīng)用中最流行的自動化測試工具,可以用來做自動化測試或者瀏覽器爬蟲等。官網(wǎng)地址為:Selenium。相對于另外一款web自動化測試工具QTP來說有如下優(yōu)點(diǎn): 免費(fèi)開源輕量級,不同語言只需要一個體積很小的依賴包 支持多種系統(tǒng),包括Windows,Mac,Linux 支持多種瀏

    2024年02月08日
    瀏覽(26)
  • Web測試自動化工具Selenium的使用

    Selenium是一個Web應(yīng)用測試的自動化工具,它通過模擬點(diǎn)擊實(shí)現(xiàn)對Web應(yīng)用的功能測試。測試時,除了Selenium,還需要對應(yīng)的瀏覽器驅(qū)動,如在Chrome實(shí)現(xiàn)自動點(diǎn)擊,則需要chromedriver。 Selenium支持多種語言和多種瀏覽器,本文僅記錄python+chrome的使用。 1. 安裝python 略 2. 安裝Selenium 注

    2024年01月16日
    瀏覽(95)
  • 自動化測試工具selenium的安裝方法

    一、什么是selenium Selenium 是一套 Web網(wǎng)站 的程序自動化操作 解決方案。 通過它,我們可以寫出自動化程序,像人一樣在瀏覽器里操作web界面。 比如點(diǎn)擊界面按鈕,在文本框中輸入文字 等操作。 Selenium 通過使用? WebDriver ?支持市場上所有主流瀏覽器的自動化。 Webdriver 是一個

    2024年02月09日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包