Tạo tài khoản Gmail theo cách thủ công có thể tẻ nhạt, đặc biệt nếu bạn cần nhiều tài khoản để thử nghiệm hoặc cho các mục đích khác. Trong hướng dẫn này, bạn sẽ tìm hiểu cách tự động hóa quy trình đăng ký tài khoản Gmail bằng Python và Selen. Ngoài ra, chúng tôi sẽ sử dụng kẻ giả mạo
thư viện để tạo dữ liệu người dùng ngẫu nhiên, ngẫu nhiên
để tạo mật khẩu và trình quản lý web
Và PyTất
giải quyết proxy.
Điều kiện tiên quyết
Trước khi chúng tôi bắt đầu, hãy đảm bảo bạn đã cài đặt những thứ sau:
- Python 3.x
- Selen
- Trình điều khiển web Chrome
- kẻ giả mạo
- PyTất
- Trình quản lý WebDriver cho Selenium
Bạn có thể cài đặt Selenium, Faker, PySocks và WebDriver Manager bằng pip:
pip cài đặt selen faker pysocks trình quản lý web
Tải xuống Chrome WebDriver từ đây và đảm bảo rằng nó nằm trong ĐƯỜNG của bạn.
Tổng quan về kịch bản
Kịch bản sẽ:
- Tạo ngẫu nhiên tên, họ, tên người dùng và mật khẩu.
- Mở trang đăng ký Gmail bằng Selenium.
- Điền vào mẫu đăng ký với dữ liệu được tạo.
- Gửi biểu mẫu.
- Sử dụng SOCKS5 Ủy quyền cho quá trình đăng ký.
Bước 1: Nhập thư viện và khởi tạo Faker
Đầu tiên, chúng ta sẽ nhập các thư viện cần thiết và khởi tạo kẻ giả mạo
:
từ selen nhập webdriver từ selen.webdriver.common.by nhập Bởi từ selen.webdriver.support.ui nhập WebDriverWait từ selen.webdriver.support nhập dự kiến_conditions dưới dạng EC từ nhập giả mạo Faker nhập chuỗi nhập ngẫu nhiên thời gian nhập từ webdriver_manager.chrome nhập ChromeDriverManager từ nhập Selenium.webdriver.chrome.service Dịch vụ từ nhập Selenium.webdriver.chrome.options Tùy chọn # Khởi tạo Faker fake = Faker()
Bước 2: Tạo dữ liệu ngẫu nhiên
Tiếp theo, chúng ta sẽ tạo một hàm để tạo mật khẩu ngẫu nhiên và tạo dữ liệu người dùng ngẫu nhiên:
# Hàm tạo mật khẩu ngẫu nhiên def generate_password(length=12): character = string.ascii_letters + string.digits + string.punctuation pass = ''.join(random.choice(characters) for i in range(length)) return mật khẩu # Tạo dữ liệu người dùng ngẫu nhiên first_name = fake.first_name() Last_name = fake.last_name() tên người dùng = first_name.low() + Last_name.low() + str(random.randint(1000, 9999)) mật khẩu = generate_password()
Bước 3: Khởi tạo Selenium WebDriver bằng Proxy
Khởi tạo Chrome WebDriver và điều hướng đến trang đăng ký Gmail, sử dụng proxy SOCKS5:
# Cài đặt proxy (thay thế bằng chi tiết proxy của bạn) proxy = "your_proxy_address:your_proxy_port" # Khởi tạo Chrome WebDriver bằng cài đặt proxy chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Khởi tạo dịch vụ WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # Mở trang đăng ký Gmail driver.get("https://accounts.Google.com/đăng ký")
Bước 4: Điền vào mẫu đăng ký
Đợi trang tải, xác định vị trí các trường biểu mẫu và điền dữ liệu được tạo vào chúng:
# Đợi trang tải và định vị các trường biểu mẫu 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 , "lastName") username_field = driver.find_element(By.ID, "username") pass_field = driver.find_element(By.NAME, "Passwd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Điền vào các trường biểu mẫu first_name_field.send_keys(first_name) Last_name_field.send_keys(last_name) username_field.send_keys(username) pass_field.send_keys(password) confirm_password_field.send_keys(password)
Bước 5: Gửi biểu mẫu
Gửi biểu mẫu và thêm độ trễ để cho phép tải trang tiếp theo:
# Gửi biểu mẫu next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Thêm độ trễ để cho phép tải trang tiếp theo (bạn có thể cần điều chỉnh thời gian ngủ) time.sleep(5)
Bước 6: Xử lý các bước bổ sung
Tùy thuộc vào quy trình đăng ký của Google, bạn có thể cần xử lý các bước bổ sung như xác minh số điện thoại, email khôi phục hoặc CAPTCHA. Phần này sẽ khác nhau và có thể yêu cầu xử lý nâng cao hơn.
Bước 7: Đóng trình duyệt
Đóng trình duyệt sau khi quá trình hoàn tất:
# Đóng trình duyệt sau khi quá trình hoàn tất driver.quit() # Xuất dữ liệu được tạo print(f"First Name: {first_name}") print(f"Last Name: {last_name}") print(f"Username: { tên người dùng}") print(f"Mật khẩu: {password}")
Kịch bản đầy đủ
Đây là tập lệnh đầy đủ kết hợp tất cả các bước:
từ selen nhập webdriver từ selen.webdriver.common.by nhập Bởi từ selen.webdriver.support.ui nhập WebDriverWait từ selen.webdriver.support nhập dự kiến_conditions dưới dạng EC từ nhập giả mạo Faker nhập chuỗi nhập ngẫu nhiên thời gian nhập từ webdriver_manager.chrome nhập ChromeDriverManager từ Selenium.webdriver.chrome.service import Dịch vụ từ Selenium.webdriver.chrome.options import Tùy chọn # Khởi tạo Faker fake = Faker() # Chức năng tạo mật khẩu ngẫu nhiên def generate_password(length=12): ký tự = string.ascii_letters + string .digits + string.punctuation pass = ''.join(random.choice(characters) for i in range(length)) trả về mật khẩu # Tạo dữ liệu người dùng ngẫu nhiên first_name = fake.first_name() Last_name = fake.last_name() tên người dùng = first_name.low() + Last_name.low() + str(random.randint(1000, 9999)) pass = generate_password() # Cài đặt proxy (thay thế bằng chi tiết proxy của bạn) proxy = "your_proxy_address:your_proxy_port" # Khởi tạo Chrome WebDriver bằng cài đặt proxy chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Khởi tạo dịch vụ WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service= service, options=chrome_options) # Mở trang đăng ký Gmail driver.get("https://accounts.google.com/signup") # Đợi trang tải và tìm các trường biểu mẫu 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, "lastName") username_field = driver.find_element(By.ID, "username") pass_field = driver.find_element(By.NAME, "Passwd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Điền vào các trường biểu mẫu first_name_field.send_keys(first_name) Last_name_field.send_keys(last_name) username_field.send_keys(username) pass_field.send_keys(password) confirm_password_field.send_keys(password) # Gửi biểu mẫu next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Thêm độ trễ để cho phép tải trang tiếp theo (bạn có thể cần điều chỉnh thời gian ngủ) time.sleep(5) # Đóng trình duyệt sau khi quá trình hoàn tất driver.quit() # Xuất dữ liệu đã tạo print(f"First Tên: {first_name}") print(f"Họ: {last_name}") print(f"Tên người dùng: {username}") print(f"Mật khẩu: {password}")
Phần kết luận
Bạn đã tự động hóa thành công quy trình đăng ký tài khoản Gmail bằng Python và Selenium, cùng với việc bổ sung hỗ trợ proxy SOCKS5. Tập lệnh này tạo dữ liệu người dùng ngẫu nhiên, điền vào biểu mẫu đăng ký và định tuyến lưu lượng truy cập thông qua một proxy được chỉ định.
Nhớ thay thế your_proxy_address:your_proxy_port
với các chi tiết proxy thực tế của bạn và sử dụng tập lệnh này một cách có trách nhiệm, hãy ghi nhớ các ý nghĩa pháp lý và đạo đức của việc tự động tạo tài khoản.