Dalam perbincangan ini, kami meneroka isu biasa yang dihadapi semasa mengikis kandungan HTML dinamik dengan Python: sebaliknya menemui pemegang tempat templat daripada nilai sebenar. Khususnya, kami berhasrat untuk mendapatkan semula nilai "median" daripada halaman web yang menggunakan templat hendal.
Pada mulanya, menggunakan perpustakaan permintaan sahaja tidak akan menghasilkan hasil yang diingini kerana ia tidak dapat mengendalikan pemaparan berasaskan JavaScript bagi muka surat. Untuk mengatasinya, kami meneroka tiga penyelesaian utama:
Dalam kes kami, kami mengesyorkan Selenium bersama-sama dengan BeautifulSoup. Dengan menggunakan Selenium untuk mendapatkan HTML yang diberikan dan BeautifulSoup untuk menghuraikannya, kami boleh mengakses kandungan HTML dinamik dengan berkesan. Di bawah ialah contoh coretan kod:
<code class="python">from bs4 import BeautifulSoup from selenium import webdriver # Get rendered HTML using Selenium driver = webdriver.Firefox() driver.get('http://eve-central.com/home/quicklook.html?typeid=34') html = driver.page_source # Parse HTML using BeautifulSoup soup = BeautifulSoup(html) # Search for specific tags, e.g., those with a "formatPrice median" class for tag in soup.find_all('formatPrice median'): median_value = tag.text</code>
Pendekatan ini membolehkan kami menavigasi dan berinteraksi dengan halaman web seperti yang dilakukan oleh penyemak imbas sebenar, membolehkan kami memperoleh data yang diperlukan, walaupun ia dimuatkan secara dinamik.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nilai daripada Kandungan HTML Dinamik Menggunakan Selenium dan BeautifulSoup Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!