如何使用 Selenium 下载此视频 [英] How to download this video using Selenium

查看:77
本文介绍了如何使用 Selenium 下载此视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

到目前为止我写这个是为了从这个链接下载

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

解决方案

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

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

Python 2

导入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,以免重复

I'm trying to make an python script to download videos from animefreak.tv so I can watch them offline while I'm on a roadtrip. Plus I thought it was a good opportunity to learn some webscraping.

I wrote this so far to download from this link 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()

Whenever I run the script the src attribute doesn't show up. What am I doing wrong? Thank you!

解决方案

interesting that you are using both beautifulsoup and selenium. this task might be able to be accomplished using either one exclusively (with exceptions)

You won't use Selenium to download the video, per se. You'll use the language of choice. In your case, 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')

You'll probably have to calculate videoname.mp4 somehow so you don't get duplicates

这篇关于如何使用 Selenium 下载此视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆