欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬取m3u8連接的視頻

 更新時間:2018年02月28日 14:55:41   作者:lingluofengzang  
這篇文章主要為大家詳細介紹了python如何爬取m3u8連接的視頻,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了python爬取m3u8連接的視頻方法,供大家參考,具體內容如下

要求:輸入m3u8所在url,且ts視頻與其在同一路徑下

#!/usr/bin/env/python
#_*_coding:utf-8_*_
#Data:17-10-08
#Auther:蘇莫
#Link:http://blog.csdn.net/lingluofengzang
#PythonVersion:python2.7
#filename:download_movie.py

import os
import sys
import requests

reload(sys)
sys.setdefaultencoding('utf-8')

# 功能:爬取m3u8格式的視頻

# 檢查存儲路徑是否正常
def check_path(_path):
  # 判斷存儲路徑是否存在
  if os.path.isdir(_path) or os.path.isabs(_path):
    # 判斷存儲路徑是否為空
    if not os.listdir(_path):
      return _path

    else:

      print u'>>>[-] 目標文件不為空,將清空目標文件,是否更換路徑?'
      flag = raw_input('>>>[*] Yes:1 No:2 \n>>>[+] [2]')

      try:
        if flag == '1':
          _path = raw_input(unicode('>>>[+] 請輸入目標文件路徑。\n>>>[+] ').encode('gbk'))
          check_path(_path)
        else:
          # 清空存儲路徑
          os.system('rd /S /Q ' + _path)
          os.system('mkdir ' + _path)
          return _path
      except Exception as e:
        print e
        exit(0)

  else:
    os.makedirs(_path)
    return _path

# 獲取ts視頻的爬取位置
def get_url(_url, _path):

  all_url = _url.split('/')
  url_pre = '/'.join(all_url[:-1]) + '/'
  url_next = all_url[-1]

  os.chdir(_path)
  # 獲取m3u8文件
  m3u8_txt = requests.get(_url, headers = {'Connection':'close'})
  with open(url_next, 'wb') as m3u8_content:
    m3u8_content.write(m3u8_txt.content)
  # 提取ts視頻的url
  movies_url = []
  _urls = open(url_next, 'rb')
  for line in _urls.readlines():
    if '.ts' in line:
      movies_url.append(url_pre + line[:-1])
    else:
      continue

  _urls.close()
  return movies_url

# 爬取ts視頻
def download_movie(movie_url, _path):
  os.chdir(_path)
  print '>>>[+] downloading...'
  print '-' * 60
  error_get = []

  for _url in movie_url:
    # ts視頻的名稱
    movie_name = _url.split('/')[-1][-6:]

    try:
      # 'Connection':'close' 防止請求端口占用
      # timeout=30  防止請求時間超長連接
      movie = requests.get(_url, headers = {'Connection':'close'}, timeout=60)
      with open(movie_name, 'wb') as movie_content:
        movie_content.writelines(movie)
      print '>>>[+] File ' + movie_name + ' done'
    # 捕獲異常,記錄失敗請求
    except:
      error_get.append(_url)
      continue
  # 如果沒有不成功的請求就結束
  if error_get:
    print u'共有%d個請求失敗' % len(file_list)
    print '-' * 60
    download_movie(error_get, _path)
  else:
    print '>>>[+] Download successfully!!!'

if __name__ == '__main__':
  try:

    _url = raw_input(unicode('>>>[+] 請輸入指定的[.m3u8]目標URL。\n>>>[+] ').encode('gbk'))
    _path = raw_input(unicode('>>>[+] 請輸入存儲目標文件路徑。\n>>>[+] ').encode('gbk'))

    storage_path = check_path(_path)
    movie_url = get_url(_url, storage_path)
    download_movie(movie_url, storage_path)

  except Exception as e:
    print e

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python面向對象class類屬性及子類用法分析

    Python面向對象class類屬性及子類用法分析

    這篇文章主要介紹了Python面向對象class類屬性及子類用法,結合實例形式較為詳細的分析了Python面向對象編程中class類屬性的訪問、修改、刪除操作及子類的相關使用技巧,需要的朋友可以參考下
    2018-02-02
  • Tensorflow訓練MNIST手寫數(shù)字識別模型

    Tensorflow訓練MNIST手寫數(shù)字識別模型

    這篇文章主要為大家詳細介紹了Tensorflow訓練MNIST手寫數(shù)字識別模型,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python密碼學概述雙倍強度加密教程

    Python密碼學概述雙倍強度加密教程

    這篇文章主要為大家介紹了Python密碼學概述雙倍強度加密教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2022-05-05
  • python文本進度條實例

    python文本進度條實例

    這篇文章主要為大家介紹了python文本進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • PyQt5中向單元格添加控件的方法示例

    PyQt5中向單元格添加控件的方法示例

    這篇文章主要介紹了PyQt5中向單元格添加控件的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • python 已知三條邊求三角形的角度案例

    python 已知三條邊求三角形的角度案例

    這篇文章主要介紹了python 已知三條邊求三角形的角度案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 利用python寫api接口實戰(zhàn)指南

    利用python寫api接口實戰(zhàn)指南

    api接口在我們開發(fā)中的重要性相信大家都這篇文章主要給大家介紹了關于利用python寫api接口實戰(zhàn)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Python中創(chuàng)建字典的幾種方法總結(推薦)

    Python中創(chuàng)建字典的幾種方法總結(推薦)

    下面小編就為大家?guī)硪黄狿ython中創(chuàng)建字典的幾種方法總結(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • opencv+python實現(xiàn)均值濾波

    opencv+python實現(xiàn)均值濾波

    這篇文章主要為大家詳細介紹了opencv+python實現(xiàn)均值濾波,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • python的函數(shù)和方法(上)

    python的函數(shù)和方法(上)

    這篇文章主要為大家詳細介紹了python的函數(shù)和方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論