import os import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlparse, unquote def download_resources(url, save_folder): response = requests.get(url) if response.status_code == 200: # HTML içeriğini BeautifulSoup ile işle soup = BeautifulSoup(response.content, 'html.parser') # Kaynak dosyalarının türlerini belirle resource_types = { 'link': 'href', 'script': 'src', 'img': 'src', } # Her bir kaynak türü için for tag, attribute in resource_types.items(): # Kaynak dosyalarını al resources = soup.find_all(tag) # Her bir kaynağı işle for resource in resources: # Kaynak dosyasının URL'sini al resource_url = resource.get(attribute) if resource_url: # Kaynak dosyasının tam URL'sini oluştur full_url = urljoin(url, resource_url) # Klasör yapısını oluştur relative_path = urlparse(full_url).path.lstrip('/') save_path = os.path.join(save_folder, relative_path) os.makedirs(os.path.dirname(save_path), exist_ok=True) # Kaynak dosyasını indir download_file(full_url, save_path) def download_file(url, save_path): # Dosyayı indir response = requests.get(url) if response.status_code == 200: with open(save_path, 'wb') as f: f.write(response.content) print(f"{url} indirildi: {save_path}") else: print(f"{url} indirilemedi") if __name__ == "__main__": url = "https://www.example.com" # İndirilecek URL save_folder = "downloaded_resources" # Kaynak dosyaların kaydedileceği klasör if not os.path.exists(save_folder): os.makedirs(save_folder) download_resources(url, save_folder)