mirror of
https://github.com/sotam0316/docker-py-revanced.git
synced 2026-04-25 03:48:37 +09:00
🎨 Use BS4 for uptodown
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
"""Upto Down Downloader."""
|
"""Upto Down Downloader."""
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
import requests
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
from selectolax.lexbor import LexborHTMLParser
|
|
||||||
|
|
||||||
|
from scripts.status_check import headers
|
||||||
from src.downloader.download import Downloader
|
from src.downloader.download import Downloader
|
||||||
from src.exceptions import AppNotFound
|
from src.exceptions import AppNotFound
|
||||||
from src.utils import bs4_parser
|
from src.utils import bs4_parser
|
||||||
@@ -14,9 +15,12 @@ class UptoDown(Downloader):
|
|||||||
"""Files downloader."""
|
"""Files downloader."""
|
||||||
|
|
||||||
def extract_download_link(self, page: str, app: str) -> None:
|
def extract_download_link(self, page: str, app: str) -> None:
|
||||||
parser = LexborHTMLParser(self.config.session.get(page).text)
|
r = requests.get(page, headers=headers, allow_redirects=True)
|
||||||
main_page = parser.css_first("#detail-download-button")
|
soup = BeautifulSoup(r.text, bs4_parser)
|
||||||
download_url = main_page.attributes["data-url"]
|
soup = soup.find(id="detail-download-button")
|
||||||
|
download_url = soup.get("data-url")
|
||||||
|
if not download_url:
|
||||||
|
raise AppNotFound("Unable to download from uptodown.")
|
||||||
self._download(download_url, f"{app}.apk")
|
self._download(download_url, f"{app}.apk")
|
||||||
logger.debug(f"Downloaded {app} apk from upto_down_downloader in rt")
|
logger.debug(f"Downloaded {app} apk from upto_down_downloader in rt")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user