diff --git a/edx_dl/edx_dl.py b/edx_dl/edx_dl.py index 2d25bc88..c9abe4db 100644 --- a/edx_dl/edx_dl.py +++ b/edx_dl/edx_dl.py @@ -715,7 +715,12 @@ def download_url(url, filename, headers, args): # order) is due to different behaviors in different Python versions # (e.g., 2.7 vs. 3.4). try: - urlretrieve(url, filename) + headers_list = [(k,headers[k]) for k in headers] + opener = build_opener() + opener.addheaders = headers_list + response = opener.open(url) + with open(filename, 'wb') as f: + f.write(response.read()) except Exception as e: logging.warn('Got SSL/Connection error: %s', e) if not args.ignore_errors: diff --git a/edx_dl/parsing.py b/edx_dl/parsing.py index 717b1f5f..46fc40cf 100644 --- a/edx_dl/parsing.py +++ b/edx_dl/parsing.py @@ -376,7 +376,7 @@ def _make_url(section_soup): # FIXME: Extract from here and test def _get_section_name(section_soup): # FIXME: Extract from here and test try: - return section_soup.div.h3.string + return section_soup.find_all("h3", class_="section-title")[0].string except AttributeError: return None