evozi.py 815 B

123456789101112131415161718192021222324252627
  1. import datetime
  2. import re
  3. import time
  4. import requests
  5. from selenium import webdriver
  6. def get(app_id):
  7. options = webdriver.FirefoxOptions()
  8. options.add_argument("--headless")
  9. with webdriver.Firefox(options=options) as driver:
  10. driver.get(f"https://apps.evozi.com/apk-downloader/?id={app_id}")
  11. driver.find_element_by_class_name("btn").click()
  12. t = datetime.datetime.now()
  13. while True:
  14. try:
  15. dl_url = "https:" + re.search(r'//storage.+?\.apk', driver.page_source).group()
  16. break
  17. except AttributeError:
  18. pass
  19. if datetime.datetime.now()-t > datetime.timedelta(seconds=10):
  20. raise RuntimeError('Download failed')
  21. time.sleep(1)
  22. return requests.get(dl_url).content