Closed numlockkey closed 4 years ago
@EugeneLoy might be connected to your research and contributions in #559 before, I'm also getting empty folders on two courses that I started, quite strange.
Coronavirus maybe?
Here's mine:
Darwin <host> 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan 9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64
arseny@almond:_MITx$ which python
/Users/<user>/anaconda3/bin/python
<user>@<host>:_MITx$ which edx-dl
/Users/<user>/anaconda3/bin/edx-dl
<user>@<host>:_MITx$ edx-dl --version
0.1.11
<user>@<host>:_MITx$ tree -L 4
.
0 directories, 0 files
<user>@<host>:_MITx$ edx-dl -u <user>@<email> https://courses.edx.org/courses/course-v1:MITx+14.310x+1T2020/course/ --debug
root[main] edx_dl version 0.1.11
root[parse_file_formats] file_formats: ['e?ps', 'pdf', 'txt', 'doc', 'xls', 'ppt', 'docx', 'xlsx', 'pptx', 'odt', 'ods', 'odp', 'odg', 'zip', 'rar', 'gz', 'mp3', 'R', 'Rmd', 'ipynb', 'py']
Password:
root[edx_get_headers] Building initial headers for future requests.
root[_get_initial_token] Getting initial CSRF token.
root[_get_initial_token] Found CSRF token.
root[edx_get_headers] Headers built: {'User-Agent': 'edX-downloader/0.01', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8', 'Referer': 'https://courses.edx.org/user_api/v1/account/login_session', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRFToken': 'ZZh0LVFSfMEgW4oh5YtmzXb4c7yIgB777ytXRIceZGbhIqvhKilRpm1ulHBkX8at'}
root[edx_login] Logging into Open edX site: https://courses.edx.org/login_ajax
root[get_courses_info] Extracting course information from dashboard.
root[get_courses_info] Data extracted:
...
<snip>
....
root[get_available_sections] Extracting sections for :https://courses.edx.org/courses/course-v1:MITx+14.310x+1T2020/course/
root[get_available_sections] Extracted sections: [<edx_dl.common.Section object at 0x109dcee48>, <edx_dl.common.Section object at 0x109dcee10>, <edx_dl.common.Section object at 0x109dce438>, <edx_dl.common.Section object at 0x109dcedd8>]
root[_display_selections] Downloading Data Analysis for Social Scientists [course-v1:MITx+14.310x+1T2020/co]
root[_display_sections] Downloading 4 section(s)
root[_display_sections] Section 1: Module 1: Introduction to the Course
root[_display_sections] Section 2: Entrance Survey
root[_display_sections] Section 3: Module 2: Fundamentals of Probability, Random Variables, Joint Distributions + Collecting Data
root[_display_sections] Section 4: Module 3: Describing Data, Joint and Conditional Distributions of Random Variables
root[extract_all_units_in_parallel] Extracting all units information in parallel.
root[extract_all_units_in_parallel] urls: []
root[main] Removed 0 duplicated urls from 0 in total
root[download] Output directory: Downloaded
<user>@<host>:_MITx$ tree -L 4
.
└── Downloaded
└── Data_Analysis_for_Social_Scientists
├── 01-Module_1-_Introduction_to_the_Course
├── 02-Entrance_Survey
├── 03-Module_2-_Fundamentals_of_Probability_Random_Variables__Joint_Distributions__Collecting_Data
└── 04-Module_3-__Describing_Data_Joint_and_Conditional_Distributions_of_Random_Variables
6 directories, 0 files
<user>@<host>:_MITx$
Basically zero files are downloaded @EugeneLoy help us :-)
Experiencing thesame issue and https://lagunita.stanford.edu/ doesn't work either
yes, lagunita is not working. would be a good fix right now since stanford will close access to all its courses by the end of march
Edx-dl stopped working (it downloads empty folders now) because of a major update being pushed to the edx servers a week ago. Please fix this valuable tool, thank you!
have the same problem, please help
Unfortunately having the same issue.
Having the same issue
February 2020: edx-dl -> DEAD. Let's hope it's revived soon.
not working after login to my courses . It does not download
Just for the record, I don't plan on working on edx-dl in the foreseeable future.
New maintainers are more than welcome to jump in, if other members of the project agree with this.
Regards,
Rogério Brito.
On Mon, Feb 10, 2020 at 3:59 PM Crystyx notifications@github.com wrote:
February 2020: edx-dl -> DEAD. Let's hope it's revived soon.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/coursera-dl/edx-dl/issues/587?email_source=notifications&email_token=AABTZMIHRKSJNO7WH76N5L3RCGPX3A5CNFSM4KRS4X42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELJ2IHY#issuecomment-584295455, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABTZMPAXHPT4PCWHZKOCIDRCGPX3ANCNFSM4KRS4X4Q .
-- Rogério Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFCAAAA http://cynic.cc/blog/ : github.com/rbrito : profiles.google.com/rbrito DebianQA: http://qa.debian.org/developer.php?login=rbrito%40ime.usp.br
yes, lagunita is not working. would be a good fix right now since stanford will close access to all its courses by the end of march
I wanted to do this too and managed to fix it for Stanford at least.
parsing.py
NewEdXPageExtractor()
instead of CurrentEdXPageExtractor()
NewEdXPageExtractor
with the following implementationclass NewEdXPageExtractor(CurrentEdXPageExtractor):
"""
A new page extractor for the latest changes in layout of edx
"""
def extract_sections_from_html(self, page, BASE_URL):
"""
Extract sections (Section->SubSection) from the html page
"""
def _make_url(section_soup): # FIXME: Extract from here and test
try:
return None
except AttributeError:
# Section might be empty and contain no links
return None
def _get_section_name(section_soup): # FIXME: Extract from here and test
try:
return section_soup.div.h3.string.strip()
except AttributeError:
return None
def _make_subsections(section_soup):
try:
subsections_soup = section_soup.find_all('li', class_=['subsection'])
except AttributeError:
return []
# FIXME correct extraction of subsection.name (unicode)
subsections = [SubSection(position=i,
url=s.a['href'],
name=s.a.div.span.string.strip())
for i, s in enumerate(subsections_soup, 1)]
return subsections
soup = BeautifulSoup(page)
sections_soup = soup.find_all('li', class_=['outline-item focusable section'])
sections = [Section(position=i,
name=_get_section_name(section_soup),
url=_make_url(section_soup),
subsections=_make_subsections(section_soup))
for i, section_soup in enumerate(sections_soup, 1)]
# Filter out those sections for which name could not be parsed
sections = [section for section in sections
if section.name]
return sections
It's just a small modification to some of the code that gets the section elements to get them properly. I've only tested this on Stanford and it works.
Tested on Amazon AWS DynamoDB course unfortunately still not working. Sad, such a nice tool. Thanks, @rbrito for the time and effort, hope someone can keep it going.
I was having this issue with edX (courses.edx.org). The following change seems to have fixed it, but I don't have time to make a PR presently:
--- a/edx_dl/parsing.py
+++ b/edx_dl/parsing.py
@@ -382,13 +382,13 @@ class NewEdXPageExtractor(CurrentEdXPageExtractor):
def _make_subsections(section_soup):
try:
- subsections_soup = section_soup.select("li.vertical.outline-item.focusable")
+ subsections_soup = section_soup.select("li.subsection")
except AttributeError:
return []
# FIXME correct extraction of subsection.name (unicode)
subsections = [SubSection(position=i,
url=s.a['href'],
- name=s.a.div.div.string.strip())
+ name=s.a.h4.string.strip())
for i, s in enumerate(subsections_soup, 1)]
I was having this issue with edX (courses.edx.org). The following change seems to have fixed it, but I don't have time to make a PR presently:
--- a/edx_dl/parsing.py +++ b/edx_dl/parsing.py @@ -382,13 +382,13 @@ class NewEdXPageExtractor(CurrentEdXPageExtractor): def _make_subsections(section_soup): try: - subsections_soup = section_soup.select("li.vertical.outline-item.focusable") + subsections_soup = section_soup.select("li.subsection") except AttributeError: return [] # FIXME correct extraction of subsection.name (unicode) subsections = [SubSection(position=i, url=s.a['href'], - name=s.a.div.div.string.strip()) + name=s.a.h4.string.strip()) for i, s in enumerate(subsections_soup, 1)]
Just to confirm, this worked for me as well, thank you @bi1yeu.
I was having this issue with edX (courses.edx.org). The following change seems to have fixed it, but I don't have time to make a PR presently:
--- a/edx_dl/parsing.py +++ b/edx_dl/parsing.py @@ -382,13 +382,13 @@ class NewEdXPageExtractor(CurrentEdXPageExtractor): def _make_subsections(section_soup): try: - subsections_soup = section_soup.select("li.vertical.outline-item.focusable") + subsections_soup = section_soup.select("li.subsection") except AttributeError: return [] # FIXME correct extraction of subsection.name (unicode) subsections = [SubSection(position=i, url=s.a['href'], - name=s.a.div.div.string.strip()) + name=s.a.h4.string.strip()) for i, s in enumerate(subsections_soup, 1)]
It doesn't work for me, I still get empty folder structure from this course https://courses.edx.org/courses/course-v1:NYUx+FCS.OS.1+1T2020/course/
Was a bit too fast. That change will download the youtube videos for me, but all PDFs are empty/corrupt.
Interesting, PDFs for my course properly downloaded. If you're comfortable with python I would suggest dropping a breakpoint in that function and seeing whether the PDF hrefs match what you see in the browser. I am guessing the subsection DOM tags for your course don't exactly match my change in all cases.
On Wed, Feb 12, 2020, at 3:47 AM, simonbogh wrote:
Was a bit too fast. That change will download the youtube videos for me, but all PDFs are empty/corrupt.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coursera-dl/edx-dl/issues/587?email_source=notifications&email_token=AAJBK2MA7DEYMI7VIAV7WPLRCPOULA5CNFSM4KRS4X42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELQPMTI#issuecomment-585168461, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJBK2KGKIL2YW532VPBDNLRCPOULANCNFSM4KRS4X4Q.
I've used bi1yeu's change to download courses, i get the videos, subtitles and pdf's, however, for the course
https://courses.edx.org/courses/course-v1:UTAustinX+UT.9.01x+1T2019/course/
2 out of 10 sections are empty ("06-Week_2_Extra_Puzzles' and "08-Week_4-_Dodgeball").
Thanks for the change!
Hello, Please can somebody help me with how to use bi1yeu's change to download courses. I am a bit new on how to apply such changes. I desperately need to get some courses from Edx for my thesis. Thanks
Hello, Please can somebody help me with how to use bi1yeu's change to download courses. I am a bit new on how to apply such changes. I desperately need to get some courses from Edx for my thesis. Thanks
Search for the parsing.py file on your hdd, it should be in a folder edx-dl (mine it's in D:\ProgramData\Anaconda3\Lib\site-packages\edx_dl). Do 1) or 2): 1)Replace your parsing.py file with the one found at https://github.com/Crystyx/parsing.py 2)Open your parsing.py file by using a text editor, search for the code bi1yeu it's referring to and replace the lines that appear in red with the lines that appear in green.
Credit goes to bi1yeu.
You can download edX courses with thisprogram also: https://www.allavsoft.com/video-downloader-converter.html
Hello, Please can somebody help me with how to use bi1yeu's change to download courses. I am a bit new on how to apply such changes. I desperately need to get some courses from Edx for my thesis. Thanks
Search for the parsing.py file on your hdd, it should be in a folder edx-dl (mine it's in D:\ProgramData\Anaconda3\Lib\site-packages\edx_dl). Do 1) or 2): 1)Replace your parsing.py file with the one found at https://github.com/Crystyx/parsing.py 2)Open your parsing.py file by using a text editor, search for the code bi1yeu it's referring to and replace the lines that appear in red with the lines that appear in green. Credit goes to bi1yeu.
if it was working at some stage, is not working now.
What course are you trying to download? I can check it.
Ok guys calm down. I am a co maintainer of this project and I don't want to let the project die but I will need your help since I have not been around for a while. Can you please point me to exact PR numbers that fix the current issues. if fixes are in the form of commens can you please guys take them and I open PRs with them so I can review/merge them (or point me to the exact code). Thanks!
@balta2ar or @rbrito can you please give me permissions in pypi so I can do new releases (and eventually send me via email any particular instruction to do the releases). My username in pypi is iemejia
. Thx!
@iemejia Hey Ismaël -- I left a comment with a small change to the parser that seemed to fix the issue for my course. I am hesitant to make a PR for it since, based on subsequent comments from others, I don't believe it fixes the current issue 100%.
@iemejia I've sent you en email with credentials, please check.
I am using the modified file: https://github.com/Crystyx/parsing.py
But I still get empty folders by trying to download https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/
Acknowledged @balta2ar info received. I will take a look at the issues during the weekend.
I am using the modified file: https://github.com/Crystyx/parsing.py
But I still get empty folders by trying to download https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/
I have tried
edx-dl -u your@email.com https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/ --prefer-cdn-videos -s --file-formats rar,zip,docx,doc,xls,xlsx,ppt,pptx,ods,odt,pdf,e?ps,txt,odp,odg,gz,xz,html,7z
Course gets downloaded until 04-Module_3, when an youtube-dl related error stops the download. Without the option --prefer-cdn-videos i get the same error.
I am using the modified file: https://github.com/Crystyx/parsing.py But I still get empty folders by trying to download https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/
I have tried
edx-dl -u your@email.com https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/ --prefer-cdn-videos -s --file-formats rar,zip,docx,doc,xls,xlsx,ppt,pptx,ods,odt,pdf,e?ps,txt,odp,odg,gz,xz,html,7z
Course gets downloaded until 04-Module_3, when an youtube-dl related error stops the download. Without the option --prefer-cdn-videos i get the same error.
Thank you. I just tried that as well and it did not work either. Empty folders on my machine.
I am using the modified file: https://github.com/Crystyx/parsing.py But I still get empty folders by trying to download https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/
I have tried edx-dl -u your@email.com https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/ --prefer-cdn-videos -s --file-formats rar,zip,docx,doc,xls,xlsx,ppt,pptx,ods,odt,pdf,e?ps,txt,odp,odg,gz,xz,html,7z Course gets downloaded until 04-Module_3, when an youtube-dl related error stops the download. Without the option --prefer-cdn-videos i get the same error.
Thank you. I just tried that as well and it did not work either. Empty folders on my machine.
My edx-dl version it's 0.1.11, what's yours?
I get mostly empty folders with these 7 courses: https://www.edx.org/professional-certificate/dartmouth-imtx-c-programming-with-linux
Most of the content of these courses it's codecasts. Is there a way to download them?
@Crystyx I have replaced it as you said , but it didnot work. it shows the following: thanks for your reply.
(py37) C:\Users\user\edx-dl-master>python edx-dl.py edx-dl -u user@user.com https://courses.edx.org/courses/RiceX/ELEC301x_/2015Q3/course/ usage: edx-dl [-h] -u USERNAME [-p PASSWORD] [-f FORMAT] [-s] [-o OUTPUT_DIR] [-i] [-x PLATFORM] [--list-courses] [--filter-section FILTER_SECTION] [--list-sections] [--youtube-dl-options YOUTUBE_DL_OPTIONS] [--prefer-cdn-videos] [--export-filename EXPORT_FILENAME] [--export-format EXPORT_FORMAT] [--list-file-formats] [--file-formats FILE_FORMATS] [--overwrite-file-formats] [--cache] [--dry-run] [--sequential] [--quiet] [--debug] [--version] [course_urls [courseurls ...]] edx-dl: error: unrecognized arguments: https://courses.edx.org/courses/RiceX/ELEC301x/2015Q3/course/
@Crystyx I have replaced it as you said , but it didnot work. it shows the following: thanks for your reply.
(py37) C:\Users\user\edx-dl-master>python edx-dl.py edx-dl -u user@user.com https://courses.edx.org/courses/RiceX/ELEC301x_/2015Q3/course/ usage: edx-dl [-h] -u USERNAME [-p PASSWORD] [-f FORMAT] [-s] [-o OUTPUT_DIR] [-i] [-x PLATFORM] [--list-courses] [--filter-section FILTER_SECTION] [--list-sections] [--youtube-dl-options YOUTUBE_DL_OPTIONS] [--prefer-cdn-videos] [--export-filename EXPORT_FILENAME] [--export-format EXPORT_FORMAT] [--list-file-formats] [--file-formats FILE_FORMATS] [--overwrite-file-formats] [--cache] [--dry-run] [--sequential] [--quiet] [--debug] [--version] [course_urls [courseurls ...]] edx-dl: error: unrecognized arguments: https://courses.edx.org/courses/RiceX/ELEC301x/2015Q3/course/
You either call it like this: python edx-dl.py -u user@user.com https://courses.edx.org/courses/RiceX/ELEC301x_/2015Q3/course/
or like this: edx-dl -u user@user.com https://courses.edx.org/courses/RiceX/ELEC301x_/2015Q3/course/
(edx-dl must appear only once)
yes, lagunita is not working. would be a good fix right now since stanford will close access to all its courses by the end of march
I wanted to do this too and managed to fix it for Stanford at least.
- Go to
parsing.py
- At line 425, make Stanford use the
NewEdXPageExtractor()
instead ofCurrentEdXPageExtractor()
- Replace
NewEdXPageExtractor
with the following implementationclass NewEdXPageExtractor(CurrentEdXPageExtractor): """ A new page extractor for the latest changes in layout of edx """ def extract_sections_from_html(self, page, BASE_URL): """ Extract sections (Section->SubSection) from the html page """ def _make_url(section_soup): # FIXME: Extract from here and test try: return None except AttributeError: # Section might be empty and contain no links return None def _get_section_name(section_soup): # FIXME: Extract from here and test try: return section_soup.div.h3.string.strip() except AttributeError: return None def _make_subsections(section_soup): try: subsections_soup = section_soup.find_all('li', class_=['subsection']) except AttributeError: return [] # FIXME correct extraction of subsection.name (unicode) subsections = [SubSection(position=i, url=s.a['href'], name=s.a.div.span.string.strip()) for i, s in enumerate(subsections_soup, 1)] return subsections soup = BeautifulSoup(page) sections_soup = soup.find_all('li', class_=['outline-item focusable section']) sections = [Section(position=i, name=_get_section_name(section_soup), url=_make_url(section_soup), subsections=_make_subsections(section_soup)) for i, section_soup in enumerate(sections_soup, 1)] # Filter out those sections for which name could not be parsed sections = [section for section in sections if section.name] return sections
It's just a small modification to some of the code that gets the section elements to get them properly. I've only tested this on Stanford and it works.
diff for this
diff --git a/edx_dl/parsing.py b/edx_dl/parsing.py
index 4684af8..2b33970 100644
--- a/edx_dl/parsing.py
+++ b/edx_dl/parsing.py
@@ -376,25 +376,25 @@ class NewEdXPageExtractor(CurrentEdXPageExtractor):
def _get_section_name(section_soup): # FIXME: Extract from here and test
try:
- return section_soup.button.h3.string.strip()
+ return section_soup.div.h3.string.strip()
except AttributeError:
return None
def _make_subsections(section_soup):
try:
- subsections_soup = section_soup.select("li.vertical.outline-item.focusable")
+ subsections_soup = section_soup.find_all('li', class_=['subsection'])
except AttributeError:
return []
# FIXME correct extraction of subsection.name (unicode)
subsections = [SubSection(position=i,
url=s.a['href'],
- name=s.a.div.div.string.strip())
+ name=s.a.div.span.string.strip())
for i, s in enumerate(subsections_soup, 1)]
return subsections
soup = BeautifulSoup(page)
- sections_soup = soup.select("li.outline-item.section")
+ sections_soup = soup.find_all('li', class_=['outline-item focusable section'])
sections = [Section(position=i,
name=_get_section_name(section_soup),
@@ -414,12 +414,12 @@ def get_page_extractor(url):
"""
if (
url.startswith('https://courses.edx.org') or
+ url.startswith('https://lagunita.stanford.edu') or
url.startswith('https://mitxpro.mit.edu')
):
return NewEdXPageExtractor()
elif (
url.startswith('https://edge.edx.org') or
- url.startswith('https://lagunita.stanford.edu') or
url.startswith('https://www.fun-mooc.fr')
):
return CurrentEdXPageExtractor()
I am using the modified file: https://github.com/Crystyx/parsing.py But I still get empty folders by trying to download https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/
I have tried edx-dl -u your@email.com https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/ --prefer-cdn-videos -s --file-formats rar,zip,docx,doc,xls,xlsx,ppt,pptx,ods,odt,pdf,e?ps,txt,odp,odg,gz,xz,html,7z Course gets downloaded until 04-Module_3, when an youtube-dl related error stops the download. Without the option --prefer-cdn-videos i get the same error.
Thank you. I just tried that as well and it did not work either. Empty folders on my machine.
My edx-dl version it's 0.1.11, what's yours?
the same version.
already any hope in sight? :)
So, how about the final solving methods? Thank you
please somebody help us resolve this problem . Edx-dl is the best method of getting courses from edx, because it gathers all pdf, videos in order manner unlike other video downloader. I thank in advance anyone who offers to solve this .
so, what about the final solving?
It works! Thanks for bi1yeu methods. Credit goes to bi1yeu!
It works! Thanks for bi1yeu methods. Credit goes to bi1yeu!
No, it doesn't. Not on edx.
Still not work guys, the fix of bi1yeu and vtta doesn't work for some courses in edx :-( sadly nobody can fix this issue. :-(
yeah... my course will expire soon. Probably I need to copy and paste by hand
Is it likely having a solution within a few days? Otherwise I will copy and paste my course content until it expires. Thanks
anyone if you want to download from edx.org,you could try this gist:parsing.py. I just fix some class selector for html sections.
Thank you Mate, will test today and get back to you.
From: singleDog notifications@github.com Sent: Friday, February 21, 2020 10:18 AM To: coursera-dl/edx-dl edx-dl@noreply.github.com Cc: crashoverburn maiquelrinco@hotmail.com; Comment comment@noreply.github.com Subject: Re: [coursera-dl/edx-dl] No longer downloading anything, only empty folder structure (#587)
anyone if you want to download from edx.org,you could try this gist:parsing.pyhttps://gist.github.com/tanjiarui15/5155a611c991e2b37589efe1e4eaa343. I just fix some class selector for html sections.
— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/coursera-dl/edx-dl/issues/587?email_source=notifications&email_token=AF2POICPFHW34QOQNL4RQELRD6S5XA5CNFSM4KRS4X42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMSHBHA#issuecomment-589590684, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF2POIHPWA635EJFA3R4DYTRD6S5XANCNFSM4KRS4X4Q.
anyone if you want to download from edx.org,you could try this gist:parsing.py. I just fix some class selector for html sections.
thanks for your efforts. But it doesnt even create the folders.... nothing happened. Unfortunately It was about this: https://courses.edx.org/courses/course-v1:USMx+BUMM612+1T2020/course/
@tanjiarui15 - solution works for me! much appreciated
🚨Please review the Troubleshooting section before reporting any issue. Don't forget also to check the current issues to avoid duplicates.
Subject of the issue
No longer downloads any files, only empty folder structure
Your environment
Steps to reproduce
https://courses.edx.org/courses/course-v1:HKUSTx+ELEC3500.1x+1T2020/course/
Expected behaviour
It should download the entire course
Actual behaviour
Doesn't download any files, only empty folder structure