Python ile URL Dosyası Oluşturmak
URL Nedir
URL (Uniform Resource Locator), Türkçe'de "Birleşik Kaynak Konumlayıcı" anlamına gelir ve internet üzerindeki bir kaynağın konumunu belirten bir adres sistemidir. İnternetteki herhangi bir dosya, web sayfası, resim, video veya başka bir içerik için benzersiz bir adres sağlar.
Bir URL, genellikle bir protokol (HTTP, HTTPS, FTP gibi), bir alan adı (örneğin: www.example.com) ve kaynağın konumunu belirten bir yol içerir. Örneğin, "https://www.example.com/index.html", bir web sitesinin ana sayfasının adresini belirtir.
URL'ler, internet tarayıcılarına, arama motorlarına ve diğer internet hizmetlerine belirli bir kaynağa erişim sağlamak için kullanılır. Kısacası, URL'ler, internet üzerindeki içeriklerin bulunduğu yerleri işaret eden adreslerdir.
URL Dosyası Nasıl Oluşturulur
Url dosyası oluşturmak için yeni bir dosyaya
[InternetShortcut] URL=URL_Adresi
yukarıdaki metni yapıştırıp URL adresini(link) yazdıktan sonra dosyayı farklı kaydet deyip uzantısı .url yaparak kaydediyoruz. Ve URL dosyamız hazır, tıkladığımız zaman tarayıcımızda linki açabiliriz.
Kod Özellikleri
- Kodu her çalıştırdığınızda bir kere kayıt yolu sorması
- Kayıt yolunu kontrol ederek doğrulama yapması
- URL'yi kontrol ederek doğrulama yapması
- Dosya isimlerini otomatik olaral URL'den çekmesi
- Dosya isimlerinde kullanılmayan karakterleri belirleyerek silmesi
- Aynı isimdeki dosyaları tespit ederek üzerine yazılmasını veya tekrar url girerek ismini değiştirmenizi sağlamak
Python Kodunda Kullandığım Kütüphaneler
- os: Operating system modülü, dosya yolu işlemleri ve diğer sistem işlemleri için kullanılır.
- validators: Doğrulama işlemleri için kullanılır, kodda URL doğrulaması yapmaktadır.
- requests: Web sayfalarından veri çekmek için kullanılır.
- BeautifulSoup: Web sayfasının HTML veya XML kaynağını analiz etmek ve verileri kolayca çekmek için kullanılır. Bu kütüphane, bs4 paketinde bulunur.
Python Kodu
import os import validators import requests from bs4 import BeautifulSoup def create_url_file(filename, url, save_path): # Kullanılamaz karakterleri değiştirme invalid_chars = {'\\', '/', ':', '*', '?', '"', '<', '>', '|'} for char in invalid_chars: filename = filename.replace(char, '') file_content = "[InternetShortcut]\nURL=" + url file_path = os.path.join(save_path, filename + ".url") with open(file_path, "w") as file: file.write(file_content) print(f"---\n{filename}.url dosyası başarıyla oluşturuldu.\n---\n") def is_valid_url(url): return validators.url(url) def get_title_from_url(url): response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") return soup.title.string.strip() if soup.title else None def is_file_exist(filename, save_path): file_path = os.path.join(save_path, filename + ".url") return os.path.exists(file_path) def main(): save_path = input("URL Dosyaları Kayıt Yolu: ") while True: if not os.path.isdir(save_path): print("Geçersiz dizin! Lütfen geçerli bir dizin girin.\n") save_path = input("URL Dosyaları Kayıt Yolu: ") continue break while True: url = input("URL: ") if not is_valid_url(url): print("Geçersiz URL! Lütfen geçerli bir URL girin.") continue default_filename = get_title_from_url(url) filename = input(f"Varsayılan Ad: '{default_filename}'\nVarsayılan için 'Enter' tuşuna basın ya da bir isim girin: ") or default_filename # Kullanılamaz karakterleri değiştirme invalid_chars = {'\\', '/', ':', '*', '?', '"', '<', '>', '|'} for char in invalid_chars: filename = filename.replace(char, '') if is_file_exist(filename, save_path): change_name = input("Bu dosya adı zaten var, üzerine yazmak istiyor musunuz? (evet/hayır): ") if change_name.lower() == 'hayır': print("URL'yi baştan girmeniz gerekmektedir.\n") continue else: if change_name.lower() == 'evet': print(f"'{filename}' dosyasının üzerine yazılıyor.") create_url_file(filename, url, save_path) if __name__ == "__main__": main()
Kaynaklar:
Chat GPT Mistral Ai FileInfo