校園視頻下載腳本

本次使用python包中的requests庫、re庫和beautifulsoup庫對校園視頻網站http://10.22.1.18/Show/Index?PRIMARVIDEO_ID=11792 電視劇青春期撞上更年期進行視頻下載。
步驟如下:
首先需要根據url獲得網頁源代碼

  • 根據源代碼中的是視頻地址特性可以發現視頻鏈接存儲在script標簽的腳本中。找到對應的視頻id,第一集為11792。通過視頻id設置對應的集數。
  • 使用beautiful庫對script標簽進行查找。獲得script標簽中對應的文本。
  • 使用正則表達式r'((http|ftp|https)://).+.mp4' 對視頻鏈接進行查找獲取,調用re.search() API。
  • 使用requests庫中的get函數獲取視頻文件內容并使用

獲得本地文件


image.png
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 02 14:46:36 2017

@author: Sean Chang
"""

import requests
import re
from bs4 import BeautifulSoup



def getHTMLText(url):
    #返回url對應的網頁源代碼
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

def vedioaddress(url,num):
    n1 = 11791 #第一集的編號-1
    url = url + str(n1+num)
    return url

def getVedioAddress(url,num):
    html = getHTMLText(vedioaddress(url,num))
    soup = BeautifulSoup(html, 'html.parser') 
    a = soup.find_all('script')
    address= ''
    mstr= ''
    for i in a:
        if (i.string != None):
            mstr = mstr+str(i.string)
    address = re.search(r'((http|ftp|https)://).+\.mp4',mstr).group(0).split("'")[0]
    return address
        
        
def main():
    vediourl = getVedioAddress('http://10.22.1.18/Show/Index?PRIMARVIDEO_ID=',1)
    r = requests.get(vediourl) 
    with open(vediourl.split('/')[-1], "wb") as code:
        code.write(r.content)

main()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,915評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評論 25 708
  • 聲明:本文講解的實戰內容,均僅用于學習交流,請勿用于任何商業用途! 一、前言 強烈建議:請在電腦的陪同下,閱讀本文...
    Bruce_Szh閱讀 12,769評論 6 28
  • gmarik/Vundle.vim是目前被推薦次數更多的Vim插件管理器,超過了pathogen。這里我們 就用v...
    隨風化作雨閱讀 858評論 0 0
  • 作者:嘍七七 個人魅力不是生下來就有的,而是后天修煉成的。 個人魅力包括談吐,姿態行為方式,對事物處理的...
    嘍七七z閱讀 749評論 1 14