如何使用Selenium下载此视频

And*_*jia 6 python selenium wget beautifulsoup web-scraping

我正在尝试制作一个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()
Run Code Online (Sandbox Code Playgroud)

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

dda*_*son 6

有趣的是,你正在使用beautifulsoup和selenium.这个任务可能只能使用一个任务(有例外)

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

Python 2

import urllib
...
video_url = video.get_property('src')
urllib.urlretrieve(video_url, 'videoname.mp4')
Run Code Online (Sandbox Code Playgroud)

Python 3

import urllib.request
...
video_url = video.get_property('src')
urllib.request.urlretrieve(video_url, 'videoname.mp4')
Run Code Online (Sandbox Code Playgroud)

你可能不得不以某种方式计算videoname.mp4所以你不会得到重复

  • 我有一个情况,我需要在 Selenium 中打开常规视频页面和 video_url 才能使 video_url 工作,否则我会收到 403: Forbidden 甚至“错误的 cookie”消息,您对这种情况有什么建议吗? (2认同)