이는 최신 Python 및 최신 Coursera.org에서 작동하며 기능과 패치가 추가된 Coursera-dl의 포크입니다.
Coursera 다운로더
소개
특징
부인 성명
설치 지침
Unix 시스템의 대체 설치 방법
아치리눅스
직접 종속성 설치
모든 운영 체제에 권장되는 설치 방법
누락된 종속성을 설치하는 다른 방법
도커
윈도우
Coursera로 계정 만들기
스크립트 실행
다운로드 재개
문제 해결
중국 문제
이 페이지에서 0개의 섹션과 0개의 강의를 찾았습니다.
다운로드 시간 초과
Windows: 프록시 지원
Windows: 프로세스를 생성하지 못했습니다.
SSLError: [Errno 1] _ssl.c:504: 오류:14094410:SSL 루틴:SSL3_READ_BYTES:sslv3 경고 핸드셰이크 실패
MathJax.js
위한 대체 CDN
문제 보고
문제 제기/버그 보고
피드백
연락하다
이 스크립트를 사용하면 Coursera 수업에 대한 강의 리소스(예: 비디오, ppt 등)를 일괄 다운로드하는 것이 더 쉬워집니다. 하나 이상의 수업 이름이 주어지면 강의 페이지에서 주 및 수업 이름을 얻은 다음 관련 자료를 적절한 이름의 파일 및 디렉터리에 다운로드합니다.
이 작업은 원래 내가 Khan Academy의 동영상과 같은 다른 좋은 동영상을 많이 다운로드한 [youtube-dl][3]에서 부분적으로 영감을 받았습니다.
모든 종류의 과정을 지원합니다(예: "기존 플랫폼"/시간 기반 및 "새 플랫폼"/주문형 과정).
대부분의 인터페이스(예: Android 장치의 VLC 또는 MX 비디오)에서 올바르게 표시되고 정렬되도록 의도적으로 자세한 이름을 지정했습니다.
정규식 기반의 섹션(주) 및 강의명 필터를 통해 특정 자료만 다운로드할 수 있습니다.
원하는 리소스 유형을 가져오는 파일 형식 확장자 필터입니다.
coursera-dl.conf
파일에서 로드된 기본 인수입니다.
핵심 기능은 Linux, Mac 및 Windows에서 테스트되었습니다.
cs-dlp
는 Coursera에서 다운로드할 수 있는 자료에만 사용됩니다.
우리는 이용 약관을 위반하는 사용을 권장하지 않습니다. 관련 발췌:
"[...] Coursera는 귀하에게 사이트에 액세스하고 사용할 수 있는 개인적이고 비독점적이며 양도 불가능한 라이센스를 부여합니다. 귀하는 개인적, 비상업적 용도로만 사이트에서 자료를 다운로드할 수 있습니다. 달리 복사할 수 없습니다. , 복제, 재전송, 배포, 출판, 상업적 이용 또는 기타 방식으로 자료를 양도할 수 없으며 해당 자료를 수정하거나 파생물을 만들 수 없습니다."
cs-dlp
관심 클래스에 등록된 Python 3 및 Coursera 계정이 필요합니다.
참고: cs-dlp
Python 2와 호환되지 않습니다.
모든 운영 체제에서 Python 실행 파일 위치가 PATH
환경 변수에 추가되었는지 확인하고 종속성을 설치한 후(다음 섹션 참조) 기본적인 사용법을 위해 기본 디렉터리에서 스크립트를 호출해야 합니다. 프로젝트를 실행하고 그 앞에 python
이라는 단어를 붙입니다. 이 문서의 "스크립트 실행" 섹션을 보면 프로그램의 고급 기능을 사용할 수도 있습니다.
참고: cs-dlp
와 함께 사용하려는 특정 과정의 Honor of Code에 이미 (수동으로) 동의해야 합니다.
명령줄(바람직하게는 가상 환경)에서 다음 명령을 실행하세요.
git clone https://github.com/raffaem/cs-dlp cd cs-dlp python -m pip install --user .
참고 1: 설치된 모듈이 시스템에 설치한 다른 Python 응용 프로그램과 충돌할 수 있으므로 컴퓨터에 전역적으로(예: 루트/관리자 권한으로) 패키지를 설치 하지 않는 것이 좋습니다. pip install
에는 --user
옵션을 사용하는 것이 좋습니다.
cs-dlp
현재 AUR 패키지가 없습니다. 도와주세요!
아직 계정이 없다면 [Coursera][1] 계정을 만들고 수업에 등록하세요. 수업 목록은 https://www.coursera.org/courses를 참조하세요.
Coursera를 인증하려면 CAUTH 쿠키가 필요합니다.
현재 지원되는 두 가지 방법이 있습니다. cs-dlp
브라우저에서 자동으로 가져오도록 하거나 수동으로 전달할 수 있습니다.
자동 방식
구글 크롬용 chrome
chromium
opera
opera_gx
brave
edge
vivaldi
firefox
librewolf
safari
즐겨 사용하는 브라우저를 열고 Coursera에 로그인하세요.
--cauth-auto browser
옵션을 사용하여 cs-dlp
호출합니다.
browser
에 유효한 옵션은 다음과 같습니다.
수동 방식
CAUTH 쿠키를 --cauth
옵션에 전달합니다.
이 유틸리티에서 지원하는 런타임 옵션에 대한 전체 최신 참조는 cs-dlp --help
를 참조하십시오.
Coursera CAUTH 쿠키, 클래스 이름 및 추가 매개변수를 제공하여 스크립트를 실행하여 자료를 다운로드합니다.
cs-dlp --cauth-auto chrome modelthinking-004
다음은 명령줄에서 cs-dlp
호출하는 방법에 대한 몇 가지 예입니다.
Multiple classes: cs-dlp --cauth-auto chrome saas historyofrock1-001 algo-2012-002 Filter by section name: cs-dlp --cauth-auto chrome -sf "Chapter_Four" crypto-004 Filter by lecture name: cs-dlp --cauth-auto chrome -lf "3.1_" ml-2012-002 Download only ppt files: cs-dlp --cauth-auto chrome -f "ppt" qcomp-2012-001 Get the preview classes: cs-dlp --cauth-auto chrome -b ni-001 Download videos at 720p: cs-dlp --cauth-auto chrome --video-resolution 720p ni-001 Specify download path: cs-dlp --cauth-auto chrome --path=C:CourseraClasses comnetworks-002 Display help: cs-dlp --help Maintain a list of classes in a dir: Initialize: mkdir -p CURRENT/{class1,class2,..classN} Update: cs-dlp -n --path CURRENT `ls CURRENT`
참고: 색상이 지정된 출력을 표시하기 위해 ls
명령에 별칭이 지정된 경우 문제가 발생할 수 있습니다. 특수 문자가 스크립트에 전송되지 않도록 하려면 ls
명령을 이스케이프 처리해야 합니다( ls
사용).
우리는 새로운 플랫폼("주문형") 과정을 지원 합니다 .
기본적으로 비디오는 540p 해상도로 다운로드됩니다. 주문형 강좌의 경우 --video-resolution
플래그는 360p, 540p 및 720p 값을 허용합니다.
비디오 대신 .txt
및/또는 .srt
자막 파일만 다운로드하려면 --ignore-formats mp4 --subtitle-language en
또는 비디오가 인코딩된 형식과 원하는 자막 언어를 사용하십시오.
선호하는 매개변수를 저장하려면 스크립트가 실행될 coursera-dl.conf
라는 파일을 다음 형식으로 생성하십시오.
--subtitle-language en,zh-CN|zh-TW --download-quizzes #--mathjax-cdn https://cdn.bootcss.com/mathjax/2.7.1/MathJax.js # more other parameters
파일에 지정된 매개변수는 명령줄에서 다시 제공되면 무시됩니다.
참고: coursera-dl.conf
에서 모든 매개변수를 따옴표로 묶어서는 안 됩니다.
기본 모드에서 CTRL + C를 눌러 다운로드 프로세스를 중단하면 부분적으로 다운로드된 파일이 디스크에서 삭제되므로 다운로드 프로세스를 처음부터 시작해야 합니다. 갑작스러운 시스템 충돌과 같은 KeyboardInterrupt( CTRL + C ) 이외의 다른 요인으로 인해 다운로드가 중단된 경우 부분적으로 다운로드된 파일은 디스크에 남아 있으며 다음에 프로세스를 다시 시작할 때 이러한 파일은 다운로드 목록에서 삭제됩니다! 다음 시작 전에 수동으로 삭제하는 작업입니다. 이러한 이유로 우리는 다운로드가 중지된 곳부터 다운로드를 계속하는 --resume
이라는 옵션을 추가했습니다.
cs-dlp --cauth-auto chrome --resume sdn1-001
이 옵션은 외부 다운로더와 함께 사용할 수도 있습니다.
cs-dlp --cauth-auto chrome --wget --resume sdn1-001
참고 1 : 일부 외부 다운로더는 다른 다운로더와 호환되지 않을 수 있는 자체 내장 이력서 기능을 사용하므로 사용에 따른 책임은 사용자에게 있습니다.
참고 2 : 재개 모드에서는 중단된 파일 이 디스크에서 삭제되지 않습니다 .
수업 자료를 다운로드하는 데 문제가 있는 경우 다음 조치 중 하나로 문제가 해결되는지 확인해 보세요.
사용 중인 수업 이름이 해당 수업의 URL에 사용된 리소스 이름과 일치하는지 확인하세요. https://www.coursera.org/learn/
--clear-cache
옵션을 사용하여 캐시된 쿠키/자격 증명을 정리하려고 했습니까?
많은 강좌(대부분 아마도?)는 강좌가 완료된 후 잠시 후 자료를 삭제할 수 있지만, 다른 강좌에서는 동일한 강좌의 다음 세션/제공까지 자료를 보관할 수 있습니다(학문적 부정직 문제를 피하기 위해, 보기에).
간단히 말해서, 강좌가 끝난 후에도 다운로드가 가능하다는 보장은 없으며, 안타깝게도 이에 대해 저희가 도움을 드릴 수 있는 부분이 없습니다.
브라우저 확장자([1][9], [2][10])를 사용하여 Netscape 스타일 쿠키 파일을 내보내고 -c
옵션과 함께 사용할 수 있습니다. 이는 비밀번호를 통한 인증이 작동하지 않을 때 유용합니다(인증 프로세스가 때때로 변경됨).
아직 시작하지 않았지만 이전 반복이 있었던 강좌의 경우 마지막 강좌의 모든 수업이 포함된 미리보기가 제공되는 경우도 있습니다. --preview
매개변수를 전달하여 이러한 파일을 다운로드할 수 있습니다.
Could not find class:
와 같은 오류가 발생하는 경우:
강좌명이 맞는지 확인하세요. Coursera의 현재 클래스 이름은 짧은 코스 이름(예: class
및 코스의 현재 버전(번호))으로 구성됩니다. 예를 들어, class
라는 클래스의 경우 class-001
, class-002
등을 사용해야 합니다.
둘째, 해당 강좌에 등록되어 있는지 확인하세요. 공식적으로 등록하지 않고 웹사이트를 통해 우등 강좌에 동의하지 않은 경우 강좌 자료에 접근할 수 없습니다.
중국 출신이고 비디오를 다운로드하는 데 문제가 있는 경우 호스트 파일(/etc/hosts)에 "52.84.167.78 d3c33hcgiwev3.cloudfront.net"을 추가하고 "ipconfig/flushdns"로 DNS를 새로 고치면 작동할 수 있습니다(https: 참조). 자세한 내용은 //github.com/googlehosts/hosts).
먼저 다운로드하려는 강좌에 등록되어 있는지 확인하세요.
많은 기존 강좌는 이미 등록을 마감했기 때문에 선택 사항이 아닌 경우가 많습니다. 이 경우 --preview
옵션을 사용하여 다운로드를 시도해 보세요. 일부 강좌에서는 등록하지 않고도 강의 자료를 다운로드할 수 있지만 일반적이지 않으며 모든 강좌에서 작동이 보장되지는 않습니다.
마지막으로, 최소한 모든 강좌 자료가 나열된 색인 파일이 있으면 동영상을 다운로드할 수 있습니다. 등록한 친구가 귀하를 위해 해당 코스 페이지를 저장할 수도 있습니다. 이 경우 --process_local_page
옵션을 사용하십시오.
또는 이 문제를 위해 설계된 다양한 브라우저 확장을 사용해 볼 수도 있습니다.
위의 방법 중 어느 것도 효과가 없다면 우리가 할 수 있는 일은 없습니다.
cs-dlp는 외부 다운로더를 지원하지만 강의 계획서가 구문 분석된 후 비디오, PDF, 일부 유인물 및 추가 파일과 같은 자료를 다운로드하는 데만 사용된다는 점에 유의하십시오. 강의 계획서는 항상 내부 다운로더를 사용하여 다운로드됩니다. 이러한 자료를 다운로드하는 데 문제가 발생하는 경우 외부 다운로더를 사용하여 시간 초과 값을 구성할 수 있습니다. 예를 들어 --aria
옵션을 전달하여 aria2c 다운로더를 사용할 수 있습니다.
cs-dlp --cauth-auto chrome --path . --aria2
그리고 이것을 aria2c의 구성 파일 ~/.aria2/aria2.conf
에 넣어 시간 초과를 줄입니다.
connect-timeout=2 timeout=2 bt-stop-timeout=1
내부 다운로더에 대한 시간 초과 구성은 지원되지 않습니다.
프록시 뒤에 있는 Windows를 사용하는 경우 스크립트를 실행하기 전에 다음과 같이 환경 변수를 설정하세요.
set HTTP_PROXY=http://host:port set HTTPS_PROXY=http://host:port
관련 토론: #205
MathJax.js
위한 대체 CDN 코스 페이지를 저장할 때 헤더에 MathJax.js
삽입하여 수학 방정식에 대한 MathJax
렌더링을 활성화했습니다. 스크립트는 mathjax.org에서 제공하는 CDN 서비스를 사용하고 있습니다. 그러나 일부 국가/지역에서는 해당 URL에 액세스할 수 없으므로 --mathjax-cdn
매개변수를 제공하여 해당 지역에서 액세스할 수 있는 MathJax.js
파일을 지정할 수 있습니다.
문제를 보고하기 전에 다음 단계를 따르십시오.
최신 버전의 스크립트를 실행하고 있는지 확인하세요.
문제가 지속되면 언제든지 버그 추적기에서 문제를 열고 문제 템플릿에 가능한 많은 정보를 입력해 주세요.