Jadual Kandungan
1. Apakah itu Selenium
2. Pasang Selenium
3. Merangkak data halaman web
4. Simulasikan interaksi pengguna
5. Mengendalikan kandungan yang dimuatkan secara dinamik
1. Penantian eksplisit
2. Penantian tersirat
Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan Selenium untuk merangkak data halaman web dalam Python

Cara menggunakan Selenium untuk merangkak data halaman web dalam Python

May 09, 2023 am 11:05 AM
python selenium

    1. Apakah itu Selenium

    Perangkak web ialah teknik yang sangat berguna dalam pengaturcaraan Python, yang membolehkan anda mendapatkan data secara automatik pada halaman web.

    Selenium ialah alat ujian automatik yang boleh mensimulasikan operasi pengguna dalam penyemak imbas, seperti mengklik butang, mengisi borang, dsb. Tidak seperti perpustakaan perangkak yang biasa digunakan seperti BeautifulSoup dan permintaan, Selenium boleh mengendalikan kandungan yang dimuatkan secara dinamik oleh JavaScript Oleh itu, Selenium ialah pilihan yang sangat sesuai untuk data yang perlu disimulasikan untuk mendapatkan interaksi pengguna.

    2. Pasang Selenium

    Untuk menggunakan Selenium, anda perlu memasangnya terlebih dahulu. Anda boleh menggunakan arahan pip untuk memasang perpustakaan Selenium:

    pip install selenium
    Salin selepas log masuk

    Selepas pemasangan selesai, anda juga perlu memuat turun pemacu penyemak imbas yang berfungsi dengan Selenium. Artikel ini menggunakan penyemak imbas Chrome sebagai contoh Anda perlu memuat turun ChromeDriver yang sepadan dengan versi penyemak imbas Chrome anda. Alamat muat turun: sites.google.com/a/chromium.…

    Selepas memuat turun dan nyahzip, letakkan fail chromedriver.exe ke lokasi yang sesuai dan ingat lokasi, kami akan memerlukannya kemudian digunakan dalam kod .

    3. Merangkak data halaman web

    Berikut ialah contoh mudah untuk merangkak halaman web dan mengeluarkan tajuk halaman.

    from selenium import webdriver
    # 指定chromedriver.exe的路径
    driver_path = r"C:\path\to\chromedriver.exe"
    # 创建一个WebDriver实例,指定使用Chrome浏览器
    driver = webdriver.Chrome(driver_path)
    # 访问目标网站
    driver.get("https://www.example.com")
    # 获取网页标题
    page_title = driver.title
    print("Page Title:", page_title)
    # 关闭浏览器
    driver.quit()
    Salin selepas log masuk

    4. Simulasikan interaksi pengguna

    Selenium boleh mensimulasikan pelbagai operasi pengguna dalam penyemak imbas, seperti mengklik butang, mengisi borang, dsb. Berikut ialah contoh di mana kami akan menggunakan Selenium untuk operasi log masuk di tapak web:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    driver_path = r"C:\path\to\chromedriver.exe"
    driver = webdriver.Chrome(driver_path)
    
    driver.get("https://www.example.com/login")
    
    # 定位用户名和密码输入框
    username_input = driver.find_element_by_name("username")
    password_input = driver.find_element_by_name("password")
    
    # 输入用户名和密码
    username_input.send_keys("your_username")
    password_input.send_keys("your_password")
    
    # 模拟点击登录按钮
    login_button = driver.find_element_by_xpath("//button[@type='submit']")
    login_button.click()
    
    # 其他操作...
    
    # 关闭浏览器
    driver.quit()
    Salin selepas log masuk

    Dengan menggabungkan pelbagai ciri Selenium, anda boleh menulis perangkak web yang berkuasa untuk merangkak data pada pelbagai tapak web. Walau bagaimanapun, sila ambil perhatian bahawa semasa merangkak, anda mesti mematuhi peraturan robots.txt tapak web sasaran dan menghormati dasar mengikis data tapak web. Di samping itu, merangkak terlalu kerap boleh membebankan tapak web malah mencetuskan mekanisme anti-merangkak, jadi adalah disyorkan untuk mengawal kelajuan merangkak secara munasabah.

    5. Mengendalikan kandungan yang dimuatkan secara dinamik

    Untuk sesetengah tapak web dengan kandungan yang dimuatkan secara dinamik, kami boleh menggunakan mekanisme menunggu tersurat dan menunggu tersirat yang disediakan oleh Selenium untuk memastikan unsur-unsur pada halaman web telah dimuatkan.

    1. Penantian eksplisit

    Penantian eksplisit merujuk kepada menetapkan keadaan menunggu tertentu dan menunggu elemen memenuhi syarat dalam masa yang ditetapkan.

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    driver_path = r"C:\path\to\chromedriver.exe"
    driver = webdriver.Chrome(driver_path)
    
    driver.get("https://www.example.com/dynamic-content")
    
    # 等待指定元素出现,最多等待10秒
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "dynamic-element-id"))
    )
    
    # 操作该元素...
    
    driver.quit()
    Salin selepas log masuk

    2. Penantian tersirat

    Penantian tersirat ialah menetapkan masa menunggu global Jika elemen tidak muncul dalam masa ini, pengecualian akan dilemparkan.

    rreeee

    Atas ialah kandungan terperinci Cara menggunakan Selenium untuk merangkak data halaman web dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Arahan sembang dan cara menggunakannya
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

    PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

    Cara Melatih Model Pytorch di CentOs Cara Melatih Model Pytorch di CentOs Apr 14, 2025 pm 03:03 PM

    Latihan yang cekap model pytorch pada sistem CentOS memerlukan langkah -langkah, dan artikel ini akan memberikan panduan terperinci. 1. Penyediaan Persekitaran: Pemasangan Python dan Ketergantungan: Sistem CentOS biasanya mempamerkan python, tetapi versi mungkin lebih tua. Adalah disyorkan untuk menggunakan YUM atau DNF untuk memasang Python 3 dan menaik taraf PIP: Sudoyumupdatepython3 (atau SudodnfupdatePython3), pip3install-upgradepip. CUDA dan CUDNN (Percepatan GPU): Jika anda menggunakan Nvidiagpu, anda perlu memasang Cudatool

    Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

    Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

    Bagaimana sokongan GPU untuk Pytorch di CentOS Bagaimana sokongan GPU untuk Pytorch di CentOS Apr 14, 2025 pm 06:48 PM

    Membolehkan pecutan GPU pytorch pada sistem CentOS memerlukan pemasangan cuda, cudnn dan GPU versi pytorch. Langkah-langkah berikut akan membimbing anda melalui proses: Pemasangan CUDA dan CUDNN Tentukan keserasian versi CUDA: Gunakan perintah NVIDIA-SMI untuk melihat versi CUDA yang disokong oleh kad grafik NVIDIA anda. Sebagai contoh, kad grafik MX450 anda boleh menyokong CUDA11.1 atau lebih tinggi. Muat turun dan pasang Cudatoolkit: Lawati laman web rasmi Nvidiacudatoolkit dan muat turun dan pasang versi yang sepadan mengikut versi CUDA tertinggi yang disokong oleh kad grafik anda. Pasang Perpustakaan Cudnn:

    Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

    Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

    Cara Memilih Versi PyTorch Di Bawah Centos Cara Memilih Versi PyTorch Di Bawah Centos Apr 14, 2025 pm 02:51 PM

    Apabila memilih versi pytorch di bawah CentOS, faktor utama berikut perlu dipertimbangkan: 1. Keserasian versi CUDA Sokongan GPU: Jika anda mempunyai NVIDIA GPU dan ingin menggunakan pecutan GPU, anda perlu memilih pytorch yang menyokong versi CUDA yang sepadan. Anda boleh melihat versi CUDA yang disokong dengan menjalankan arahan NVIDIA-SMI. Versi CPU: Jika anda tidak mempunyai GPU atau tidak mahu menggunakan GPU, anda boleh memilih versi CPU PyTorch. 2. Pytorch versi python

    Keserasian Centos Miniopen Keserasian Centos Miniopen Apr 14, 2025 pm 05:45 PM

    Penyimpanan Objek Minio: Penyebaran berprestasi tinggi di bawah CentOS System Minio adalah prestasi tinggi, sistem penyimpanan objek yang diedarkan yang dibangunkan berdasarkan bahasa Go, serasi dengan Amazons3. Ia menyokong pelbagai bahasa pelanggan, termasuk Java, Python, JavaScript, dan GO. Artikel ini akan memperkenalkan pemasangan dan keserasian minio pada sistem CentOS. Keserasian versi CentOS Minio telah disahkan pada pelbagai versi CentOS, termasuk tetapi tidak terhad kepada: CentOS7.9: Menyediakan panduan pemasangan lengkap yang meliputi konfigurasi kluster, penyediaan persekitaran, tetapan fail konfigurasi, pembahagian cakera, dan mini

    Cara Memasang Nginx di CentOs Cara Memasang Nginx di CentOs Apr 14, 2025 pm 08:06 PM

    CentOS Memasang Nginx memerlukan mengikuti langkah-langkah berikut: memasang kebergantungan seperti alat pembangunan, pcre-devel, dan openssl-devel. Muat turun Pakej Kod Sumber Nginx, unzip dan menyusun dan memasangnya, dan tentukan laluan pemasangan sebagai/usr/local/nginx. Buat pengguna Nginx dan kumpulan pengguna dan tetapkan kebenaran. Ubah suai fail konfigurasi nginx.conf, dan konfigurasikan port pendengaran dan nama domain/alamat IP. Mulakan perkhidmatan Nginx. Kesalahan biasa perlu diberi perhatian, seperti isu ketergantungan, konflik pelabuhan, dan kesilapan fail konfigurasi. Pengoptimuman prestasi perlu diselaraskan mengikut keadaan tertentu, seperti menghidupkan cache dan menyesuaikan bilangan proses pekerja.

    See all articles