【问题标题】:How to download this video using Selenium如何使用 Selenium 下载此视频
【发布时间】:2018-07-22 00:43:57
【问题描述】:

我正在尝试制作一个 python 脚本来从animefreak.tv 下载视频,这样我就可以在旅途中离线观看它们。另外,我认为这是一个学习网络抓取的好机会。

到目前为止,我写了这个从这个链接下载http://animefreak.tv/watch/hacklegend-twilight-bracelet-episode-1-english-dubbed-online-free

URL = 'http://animefreak.tv/watch/one-piece-episode-1-english-dubbed-subbed'
IFRAME_POSITION = 2

# driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true'])
driver = webdriver.Chrome()

driver.get(URL)
src = driver.page_source
parser = BeautifulSoup(src, 'lxml')


driver.switch_to.frame(IFRAME_POSITION)
video = driver.find_element(By.XPATH, '//*[@id="player"]/div[2]/video')


touch = webdriver.TouchActions(driver)
touch.tap(video)
print('src: ', video.get_property('src'))

driver.close()

每当我运行脚本时,src 属性都不会出现。我究竟做错了什么?谢谢!

【问题讨论】:

    标签: python selenium web-scraping beautifulsoup wget


    【解决方案1】:

    有趣的是,您同时使用了 beautifulsoup 和 selenium。此任务可能可以使用其中任何一个来完成(有例外)

    您本身不会使用 Selenium 下载视频。您将使用选择的语言。在你的情况下,Python。

    Python 2

    import urllib
    ...
    video_url = video.get_property('src')
    urllib.urlretrieve(video_url, 'videoname.mp4')
    

    Python 3

    import urllib.request
    ...
    video_url = video.get_property('src')
    urllib.request.urlretrieve(video_url, 'videoname.mp4')
    

    您可能必须以某种方式计算 videoname.mp4,以免重复

    【讨论】:

    • 我有一个案例,我需要在 Selenium 中打开常规视频页面和 video_url 才能使 video_url 工作,否则我会得到 403: Forbidden 甚至是“错误的 cookie”消息,你会吗对这个案例有什么建议吗?
    • 这对我不起作用。它仍然运行了很长时间没有任何动作......
    猜你喜欢
    • 1970-01-01
    • 2022-12-04
    • 2021-01-18
    • 2018-05-19
    • 1970-01-01
    • 2017-03-27
    • 2019-11-01
    • 1970-01-01
    • 2017-09-25
    相关资源
    最近更新 更多