fix uptodown download link extractor

This commit is contained in:
Viet Huynh
2024-07-19 04:04:40 +07:00
committed by Nikhil Badyal
parent 87e96a6d80
commit c6c85f907a
+4 -6
View File
@@ -19,16 +19,14 @@ class UptoDown(Downloader):
"""Extract download link from uptodown url.""" """Extract download link from uptodown url."""
r = requests.get(page, headers=request_header, allow_redirects=True, timeout=request_timeout) r = requests.get(page, headers=request_header, allow_redirects=True, timeout=request_timeout)
handle_request_response(r, page) handle_request_response(r, page)
download_page_url = page.replace("/download", "/post-download") soup = BeautifulSoup(r.text, bs4_parser)
download_page_html = requests.get(download_page_url, headers=request_header, timeout=request_timeout).text detail_download_button = soup.find("button", id="detail-download-button")
soup = BeautifulSoup(download_page_html, bs4_parser)
post_download = soup.find("div", class_="post-download")
if not isinstance(post_download, Tag): if not isinstance(detail_download_button, Tag):
msg = f"Unable to download {app} from uptodown." msg = f"Unable to download {app} from uptodown."
raise UptoDownAPKDownloadError(msg, url=page) raise UptoDownAPKDownloadError(msg, url=page)
data_url = post_download.get("data-url") data_url = detail_download_button.get("data-url")
download_url = f"https://dw.uptodown.com/dwn/{data_url}" download_url = f"https://dw.uptodown.com/dwn/{data_url}"
file_name = f"{app}.apk" file_name = f"{app}.apk"
self._download(download_url, file_name) self._download(download_url, file_name)