从URL检索下载链接

时间:2019-07-18 17:51:02

标签: python python-3.x selenium

我正在尝试获取视频的URL,但是每次都不会在我的输出中显示它。我尝试使用request,urllib甚至selenium,但结果中没有显示部分代码,就像是被阻止了。

网址是https://unitplay.net/tt0089222,这是我的代码:

from selenium import webdriver

browser=webdriver.Chrome('path/chromedriver.exe')

type(browser)

browser.get('https://unitplay.net/tt0089222')

elem = browser.page_source

print(elem)

browser.quit()

这是它未显示的部分,我想从中获取src:

<div class="jw-media jw-reset"><video class="jw-video jw-reset" x-webkit-airplay="allow" webkit-playsinline="" playsinline="" preload="auto" jw-loaded="data" src="https://unitplay.net//file/others/DA6BB292BA130B6A825B62B96BD929F811EBF7BFEC748F8E2609004F5D96D0F5DD7025F4450289E31279E9F621883D048C869F15520DBE571D8FA35EBCCACD75" __idm_id__="64900097" jw-played=""></video></div>

1 个答案:

答案 0 :(得分:0)

您可以使用selenium等待元素出现。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Chrome('path/chromedriver.exe')

browser.get('https://unitplay.net/tt0089222')

elem = browser.page_source

try:
    element = WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.TAG_NAME, "video"))
    )

    print(element.get_attribute("src"))
finally:
    browser.quit()

这应该告诉selenium最多等待10秒钟,以便视频元素出现,然后打印出其来源。