Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Nilai Kandungan HTML Dinamik dengan Python?

Bagaimana untuk Mengekstrak Nilai Kandungan HTML Dinamik dengan Python?

DDD
DDDasal
2024-10-19 07:48:31343semak imbas

How to Extract Dynamic HTML Content Values with Python?

Cara Mengekstrak Nilai daripada Kandungan HTML Dinamik Menggunakan Python

Apabila mendapatkan semula data daripada tapak web, menemui kandungan dinamik adalah perkara biasa. Dengan menggunakan perpustakaan standard Python, seperti permintaan, anda mungkin tidak dapat mengakses nilai ini kerana ia dimuatkan pada masa jalan.

Penyelesaian untuk Mengendalikan Kandungan Dinamik

Kepada atasi cabaran ini, pertimbangkan penyelesaian berikut:

  • Menghuraikan Ajax JSON Secara Terus: Akses objek JSON yang digunakan tapak web untuk memuatkan kandungan dinamik dan mengekstrak nilai yang diperlukan.
  • Menggunakan Jurubahasa JavaScript Luar Talian: Gunakan jurubahasa seperti SpiderMonkey untuk melaksanakan kod JavaScript dan memaparkan HTML dalam aplikasi Python anda.
  • Alat Automasi Penyemak Imbas: Gunakan alat seperti Selenium atau Watir untuk mensimulasikan tindakan penyemak imbas dan mengakses HTML yang diberikan.

Selenium untuk Pengekstrakan Nilai

Selenium menawarkan pendekatan komprehensif untuk pengendalian kandungan dinamik. Begini cara untuk menggunakannya:

  1. Pasang dan Konfigurasikan Selenium: Pastikan Selenium dan kebergantungannya dipasang dalam persekitaran Python anda.
  2. Segera web pemandu: Buat pemacu web, seperti Firefox atau Chrome, menggunakan kelas pemacu web.
  3. Muat URL: Navigasi ke tapak web yang dikehendaki menggunakan kaedah get().
  4. Ekstrak HTML: Dapatkan semula HTML yang diberikan untuk halaman menggunakan sifat page_source.
  5. Uraikan dengan BeautifulSoup: Gunakan BeautifulSoup untuk menghuraikan HTML dan ekstrak elemen yang diperlukan.

Contoh dengan Tapak Dipacu Bar Hendal

Pertimbangkan tapak web menggunakan templat Handlebars. Untuk mengekstrak nilai "median":

<code class="python">from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://eve-central.com/home/quicklook.html?typeid=34')

html = driver.page_source
soup = BeautifulSoup(html)

for tag in soup.find_all("div", class_="priceContainer"):
    print tag.text</code>

Contoh ini menunjukkan cara mengakses HTML yang diberikan menggunakan Selenium dan menghuraikannya dengan BeautifulSoup.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nilai Kandungan HTML Dinamik dengan Python?. 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