Gmail hesaplarını manuel olarak oluşturmak, özellikle test amacıyla veya başka amaçlarla birden fazla hesaba ihtiyacınız varsa sıkıcı olabilir. Bu eğitimde Python ve Selenium kullanarak Gmail hesabı kayıt sürecini nasıl otomatikleştireceğinizi öğreneceksiniz. Ek olarak şunları kullanacağız: sahtekar
Rastgele kullanıcı verileri oluşturmak için kütüphane, rastgele
şifre oluşturmak için ve web sürücüsü yöneticisi
Ve PySocks
proxy'leri yönetmek için.
Önkoşullar
Başlamadan önce aşağıdakilerin kurulu olduğundan emin olun:
- Python 3.x
- Selenyum
- Chrome Web Sürücüsü
- Sahtekar
- PySocks
- Selenium için WebDriver Yöneticisi
Selenium, Faker, PySocks ve WebDriver Manager'ı pip kullanarak kurabilirsiniz:
pip install Selenium faker pysocks web sürücüsü yöneticisi
Chrome WebDriver'ı şuradan indirin: Burada ve PATH'inizde olduğundan emin olun.
Komut Dosyasına Genel Bakış
Senaryo şunları yapacaktır:
- Rastgele ad, soyadı, kullanıcı adı ve şifre oluşturun.
- Selenium'u kullanarak Gmail kayıt sayfasını açın.
- Kayıt formunu oluşturulan verilerle doldurun.
- Formu gönderin.
- Kayıt işlemi için SOCKS5 proxy kullanın.
Adım 1: Kitaplıkları İçe Aktarın ve Faker'ı Başlatın
İlk önce gerekli kütüphaneleri içe aktaracağız ve başlatacağız Sahtekar
:
Selenium'dan web sürücüsünü içe aktar Selenium.webdriver.common.by'den içe aktar Selenium.webdriver.support.ui'den WebDriverWait'i Selenium.webdriver.support'tan içe aktarın faker içe aktarmadan beklenen_koşulları EC olarak içe aktar Faker içe aktarma rastgele içe aktarma dizesi webdriver_manager.chrome'dan içe aktarma süresini içe aktar ChromeDriverManager'ı içe aktar Selenium.webdriver.chrome.service'den içe aktarma Selenium.webdriver.chrome.options'dan hizmet içe aktarma Seçenekleri # Faker'ı başlat sahte = Faker()
Adım 2: Rastgele Veri Oluşturun
Daha sonra rastgele bir şifre oluşturacak ve rastgele kullanıcı verilerini oluşturacak bir işlev oluşturacağız:
# Rastgele bir şifre oluşturma işlevi def created_password(uzunluk=12): karakterler = string.ascii_letters + string.digits + string.punctuation şifre = ''.join(random.choice(characters) for i in range(length)) return şifre # Rastgele kullanıcı verisi oluştur ilk_adı = fake.first_name() son_adı = sahte.son_adı() kullanıcı adı = ilk_adı.lower() + last_name.lower() + str(random.randint(1000, 9999)) şifre = created_password()
Adım 3: Selenium WebDriver'ı Proxy ile başlatın
Chrome WebDriver'ı başlatın ve SOCKS5 proxy kullanarak Gmail kayıt sayfasına gidin:
# Proxy ayarları (proxy ayrıntılarınızla değiştirin) proxy = "proxy_adresiniz:proxy_port'unuz" # Chrome WebDriver'ı proxy ayarlarıyla başlatın chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Başlat WebDriver hizmeti = Service(ChromeDriverManager().install()) sürücü = webdriver.Chrome(service=service, options=chrome_options) # Gmail kayıt sayfasını açın Driver.get("https://accounts.google.com/signup" )
Adım 4: Kayıt Formunu Doldurun
Sayfanın yüklenmesini bekleyin, form alanlarını bulun ve bunları oluşturulan verilerle doldurun:
# Sayfanın yüklenmesini bekleyin ve form alanlarını bulun wait = WebDriverWait(driver, 10) First_name_field = wait.until(EC.presence_of_element_located((By.ID, "firstName"))) last_name_field = Driver.find_element(By.ID) , "soyadı") kullanıcı adı_field = Driver.find_element(By.ID, "kullanıcı adı") şifre_field = Driver.find_element(By.NAME, "Passwd") teyit_password_field = Driver.find_element(By.NAME, "ConfirmPasswd") # Doldurun form alanları First_name_field.send_keys(first_name) last_name_field.send_keys(last_name) kullanıcı adı_field.send_keys(kullanıcı adı) şifre_field.send_keys(şifre) teyit_password_field.send_keys(şifre)
Adım 5: Formu Gönderin
Formu gönderin ve sonraki sayfanın yüklenmesine izin vermek için bir gecikme ekleyin:
# Formu gönderin next_button = Driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Sonraki sayfanın yüklenmesine izin vermek için bir gecikme ekleyin (siz uyku süresini ayarlamanız gerekebilir) time.sleep(5)
Adım 6: Ek Adımları Ele Alın
Google'ın kayıt işlemine bağlı olarak telefon doğrulaması, kurtarma e-postası veya CAPTCHA gibi ek adımları uygulamanız gerekebilir. Bu kısım değişiklik gösterebilir ve daha gelişmiş bir işlem gerektirebilir.
Adım 7: Tarayıcıyı kapatın
İşlem tamamlandıktan sonra tarayıcıyı kapatın:
# İşlem tamamlandıktan sonra tarayıcıyı kapatın. kullanıcı adı}") print(f"Şifre: {şifre}")
Tam Komut Dosyası
İşte tüm adımları birleştiren tam komut dosyası:
selenium'dan web sürücüsünü içe aktar selenium.webdriver.common.by içe aktar Selenium.webdriver.support.ui'den WebDriverWait'i selenium.webdriver.support'tan içe aktar sahteci içe aktarmadan beklenen_koşulları EC olarak içe aktar Faker içe aktar rastgele içe aktarma dizesi webdriver_manager.chrome'dan içe aktarma süresini ChromeDriverManager'ı içe aktar Selenium.webdriver.chrome.service'den içe aktarma Selenium.webdriver.chrome.options'dan hizmet içe aktarma Seçenekler # Faker'ı başlat fake = Faker() # Rastgele bir parola oluşturma işlevi def created_password(uzunluk=12): karakterler = string.ascii_letters + string .digits + string.punctuation şifre = ''.join(random.choice(characters) for i in range(length)) dönüş şifresi # Rastgele kullanıcı verileri oluştur First_name = fake.first_name() last_name = fake.last_name() kullanıcı adı = ilk_adı.lower() + last_name.lower() + str(random.randint(1000, 9999)) şifre = created_password() # Proxy ayarları (proxy ayrıntılarınızla değiştirin) proxy = "your_proxy_address:your_proxy_port" # Chrome WebDriver'ı şununla başlatın: proxy ayarları chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # WebDriver hizmetini başlatın = Service(ChromeDriverManager().install()) sürücü = webdriver.Chrome(service= service, options=chrome_options) # Gmail kayıt sayfasını açın Driver.get("https://accounts.google.com/signup") # Sayfanın yüklenmesini bekleyin ve form alanlarını bulun wait = WebDriverWait(driver, 10) First_name_field = wait.until(EC.presence_of_element_located((Kimliğe Göre, "adına"))) last_name_field = sürücü.find_element(Kimliğe Göre, "soyadı") kullanıcı adı_field = Driver.find_element(Kimliğe Göre, "kullanıcı adı") şifre_alanı = Driver.find_element(By.NAME, "Passwd") teyit_password_field = Driver.find_element(By.NAME, "ConfirmPasswd") # Form alanlarını doldurun First_name_field.send_keys(first_name) last_name_field.send_keys(last_name) kullanıcı adı_field.send_keys(kullanıcı adı) şifre_field.send_keys(şifre) teyit_password_field.send_keys(şifre) # Formu gönderin next_button = Driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Sonraki sayfanın yüklenmesine izin vermek için bir gecikme ekleyin (uyku süresini ayarlamanız gerekebilir) time.sleep(5) # İşlem tamamlandıktan sonra tarayıcıyı kapatın Driver.quit() # Oluşturulan verinin çıktısını alın print(f"First) Ad: {ad_adı}") print(f"Soyadı: {soyadı}") print(f"Kullanıcı adı: {kullanıcı adı}") print(f"Şifre: {şifre}")
Çözüm
SOCKS5 proxy desteğinin eklenmesiyle Python ve Selenium'u kullanarak Gmail hesabı kayıt işlemini başarıyla otomatikleştirdiniz. Bu komut dosyası rastgele kullanıcı verileri üretir, kayıt formunu doldurur ve trafiği belirli bir proxy üzerinden yönlendirir.
Değiştirmeyi unutmayın proxy_adresiniz:proxy_portunuz
gerçek proxy ayrıntılarınızı kullanın ve hesap oluşturmayı otomatikleştirmenin yasal ve etik sonuçlarını akılda tutarak bu komut dosyasını sorumlu bir şekilde kullanın.