Rumah >pembangunan bahagian belakang >Tutorial Python >Python melaksanakan pengesahan log masuk halaman dan analisis fungsi pengecaman kod pengesahan untuk aplikasi pengumpulan pelayar tanpa kepala

Python melaksanakan pengesahan log masuk halaman dan analisis fungsi pengecaman kod pengesahan untuk aplikasi pengumpulan pelayar tanpa kepala

PHPz
PHPzasal
2023-08-08 10:49:251004semak imbas

Python melaksanakan pengesahan log masuk halaman dan analisis fungsi pengecaman kod pengesahan untuk aplikasi pengumpulan pelayar tanpa kepala

Python melaksanakan pengesahan log masuk halaman dan analisis fungsi pengecaman kod pengesahan untuk aplikasi pemerolehan penyemak imbas tanpa kepala

Dengan pembangunan berterusan teknologi Internet, semakin banyak aplikasi menggunakan pengesahan log masuk halaman dan fungsi pengenalan kod pengesahan untuk meningkatkan Keselamatan. Apabila merangkak dan mengumpul data daripada aplikasi ini, kami juga perlu menyelesaikan masalah ini. Artikel ini akan memperkenalkan cara menggunakan Python untuk melaksanakan penyemak imbas tanpa kepala untuk mengendalikan pengesahan log masuk halaman dan pengenalan kod pengesahan untuk pengumpulan data yang lancar.

1. Pengenalan kepada penyemak imbas tanpa kepala

Pelayar tanpa kepala ialah penyemak imbas yang tidak mempunyai antara muka visual dan dikendalikan melalui pengaturcaraan. Ia boleh mensimulasikan tingkah laku pengendalian manusia, termasuk membuka halaman web, mengisi borang, mengklik butang, dsb., dengan itu merealisasikan operasi automatik pada halaman web. Pelayar tanpa kepala biasa termasuk Selenium dan Puppeteer.

2. Pemasangan dan konfigurasi perpustakaan Selenium

Selenium ialah perpustakaan yang biasa digunakan untuk ujian web automatik Kami boleh menggunakannya untuk melaksanakan fungsi pengesahan log masuk dan pengecaman kod pengesahan dalam perangkak. Pertama, anda perlu memasang perpustakaan Selenium, yang boleh dipasang menggunakan arahan pip.

pip pasang selenium

Seterusnya, anda perlu memuat turun pemacu penyemak imbas yang sepadan Selenium perlu berinteraksi dengan penyemak imbas melalui pemacu penyemak imbas. Anda boleh memilih pemacu yang sepadan mengikut penyemak imbas yang anda gunakan. Contohnya, pelayar Chrome memerlukan muat turun ChromeDriver.

3. Pemprosesan pengesahan log masuk halaman

  1. Import perpustakaan

daripada pemacu web import selenium

  1. Buat objek pelayar

browser = webdriver.Chrome()

  1. r.dapat( "https://example.com/login")

Masukkan nama pengguna dan kata laluan
  1. username_input = browser.find_element_by_id("username")
password_input = browser.find_element_by_id("kata laluan")

nama_kunci"
your_username")

password_input.send_keys("your_password")


Klik butang log masuk
  1. login_button = browser.find_element_by_css_selector("input[type='submit']")
Get logged dalam Kandungan halaman


page_content = browser.page_source
  1. Kod di atas menggunakan modul pemacu web perpustakaan Selenium untuk mencipta objek penyemak imbas Chrome, kemudian membuka halaman log masuk, memasukkan nama pengguna dan kata laluan, dan mengklik butang log masuk. Akhir sekali, kandungan halaman selepas log masuk diperoleh dan boleh dirangkak dan diproses lagi.
4. Pengecaman dan pemprosesan kod pengesahan

Sesetengah aplikasi akan menambah kod pengesahan untuk meningkatkan keselamatan log masuk. Pada masa ini, kami perlu mengenal pasti kod pengesahan. Di bawah ialah contoh pengecaman kod pengesahan mudah yang dilaksanakan dalam Python. import pustaka menukar ('L')

imej = imej.titik(lambda x: 0 jika x

Lakukan pengecaman kod pengesahan

    kod = pytesseract.image_to_string(imej)
  1. Kod pytesseract di atas menggunakan perpustakaan pytesseract , yang merupakan alat OCR (Optical Character Recognition, optical character recognition) yang boleh mengecam teks dalam imej ke dalam rentetan. Sebelum pengecaman, kami perlu memuatkan imej kod pengesahan dan praproses imej, seperti menukar kepada skala kelabu, binarizing, dll., untuk meningkatkan ketepatan pengecaman.

5. Contoh kod lengkap

Berikut ialah contoh kod lengkap untuk pengesahan log masuk halaman dan pengenalan kod pengesahan menggunakan aplikasi pengumpulan pelayar tanpa kepala.
    from selenium import webdriver
    import pytesseract
    from PIL import Image
    
    # 创建浏览器对象
    browser = webdriver.Chrome()
    
    # 打开登录页面
    browser.get("https://example.com/login")
    
    # 输入用户名和密码
    username_input = browser.find_element_by_id("username")
    password_input = browser.find_element_by_id("password")
    username_input.send_keys("your_username")
    password_input.send_keys("your_password")
    
    # 点击登录按钮
    login_button = browser.find_element_by_css_selector("input[type='submit']")
    login_button.click()
    
    # 加载验证码图片
    captcha_image = browser.find_element_by_css_selector(".captcha img")
    captcha_image.screenshot("captcha.png")
    
    # 预处理验证码图片
    image = Image.open("captcha.png")
    image = image.convert('L')
    image = image.point(lambda x: 0 if x < 200 else 255)
    
    # 进行验证码识别
    code = pytesseract.image_to_string(image)
    print("验证码识别结果:" + code)
    
    # 输入验证码
    captcha_input = browser.find_element_by_id("captcha")
    captcha_input.send_keys(code)
    
    # 点击验证码提交按钮
    submit_button = browser.find_element_by_css_selector("input[name='captcha_submit']")
    submit_button.click()
    
    # 获取登录后的页面内容
    page_content = browser.page_source
    print(page_content)
    
    # 关闭浏览器
    browser.quit()
  1. 6. Ringkasan
Artikel ini memperkenalkan cara menggunakan perpustakaan Selenium Python dan pustaka pytesseract untuk melaksanakan pengesahan log masuk halaman dan fungsi pengenalan kod pengesahan untuk aplikasi koleksi pelayar tanpa kepala. Melalui pengendalian pelayar tanpa kepala, kami boleh mensimulasikan tingkah laku manusia dan merealisasikan operasi automatik pada halaman log masuk. Fungsi pengecaman kod pengesahan boleh membantu kami mengatasi kod pengesahan yang ditambahkan dalam sesetengah aplikasi, supaya dapat mengumpul data dengan lancar. Melalui kajian artikel ini, saya percaya pembaca boleh menangani isu ini dengan lebih fleksibel dan menerapkannya pada projek mereka sendiri.

Atas ialah kandungan terperinci Python melaksanakan pengesahan log masuk halaman dan analisis fungsi pengecaman kod pengesahan untuk aplikasi pengumpulan pelayar tanpa kepala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn