Vraag Hoe kan ik Stanford Open Classroom-video's downloaden?


ik gebruik Ubuntu 11.10 & wil downloaden Stanford Open Classroom video's ... hoofdzakelijk voor offline weergave,

Ex: http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=WebApplications

thanx op voorhand


0
2017-10-19 07:52


oorsprong




antwoorden:


Gebruik Firefox met Video DownloadHelper toevoegen.


2
2017-10-19 08:42





  1. Kopieer de volgende code in een nieuw document en sla het op in een nieuwe map als downloader.py.

    #!/usr/bin/env python
    
    import urllib
    from BeautifulSoup import BeautifulSoup
    
    
    COURSE_URL = 'http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=WebApplications'
    
    def download_video(video_name):
        course_name = COURSE_URL.split('course=')[1]
        request = urllib.urlopen('http://openclassroom.stanford.edu/MainFolder/'\
                                 'courses/{0}/videos/{1}.xml'.format(course_name,
                                                                     video_name))
        response = request.read()
    
        flv_name = response.split('<videoFile>')[1].split('</videoFile>')[0]
        print 'Downloading: %s' % flv_name
        urllib.urlretrieve('http://openclassroom.stanford.edu/MainFolder/courses/'\
                           '{0}/videos/{1}'.format(course_name, flv_name),
                            flv_name)
    
    def main():
        request = urllib.urlopen(COURSE_URL)
        response = request.read()
        soup = BeautifulSoup(response)
    
        results = soup.findAll('div', {'class': 'results-list'})
        for result in results:
            lists = result.findAll('li')
            for li in lists:
                urls = li.findAll('a')
                for url in urls:
                    video_name = str(url).split('video=')[1].split('&')[0]
                    download_video(video_name)
    
    if __name__ == '__main__':
        main()
    
  2. Open een nieuwe terminal (druk op Alt + F2 en voer in 'terminal') en zorg ervoor dat u de python-beautifulsoup pakket geïnstalleerd door in te voeren:

    sudo apt-get install python-beautifulsoup
    
  3. Navigeer naar de map waar de downloader.py bestand bevindt zich (met behulp van de 'CD'opdracht).

  4. Voer het bestand uit met behulp van de Python opdracht:

    python downloader.py
    
  5. Wacht tot alle videobestanden zijn gedownload. Ze zouden in dezelfde map moeten verschijnen waar de downloader.py bestand bevindt zich.

  6. Als u een andere cursus wilt downloaden, moet u de variabele 'COURSE_URL' wijzigen in de downloader.py bestand met het URL-adres van de cursus die u wilt downloaden.


1
2017-10-19 09:29



Ik paralelde dit om 10 video's tegelijkertijd te downloaden en veranderde het om een ​​map te vragen om op te slaan en om naar de cursus-URL te vragen. Kijk hier: github.com/mdenton8/Openclassroom-Downloader - mdenton8
Ik heb er nog een geschreven en zie nu je bericht. De mijne werkt op Python 3.5 en is heel eenvoudig en vergelijkbaar met de uwe github.com/AlmogCohen/open_classroom_downloader - Almog Cohen


Dit werkt voor mij:

sudo apt-get install youtube-dl
youtube-dl 'SOMEURL'

bijv.

youtube-dl 'http://openclassroom.stanford.edu/MainFolder/VideoPage.php?course=ufldl&video=03.1-NeuralNetworks-Representation&speed=100' 

0
2018-01-31 19:59





Ik heb net mijn eigen eenvoudige downloader geschreven op basis van Python 3.5 en de eenvoudige verzoekenbibliotheek. Geen magie daar. Bekijken

ren gewoon python downloader.py, selecteer je cursus en geniet van de parallelle download :)

Het script haalt eerst de volledige cursuslijst op en laat je kiezen. Nadat je hebt gekozen, wordt de cursusbeschrijving opgehaald en worden alle video's gedownload in een map met de naam van de cursus.


0
2018-02-05 17:20



Dit antwoord lost het probleem op, maar het kan worden verbeterd door een beschrijving van wat het script doet, afhankelijkheden die het heeft, en voorbeeldgebruik.
Meer beschrijving toegevoegd, bedankt - Almog Cohen