Pengenalan
Mengikis kandungan dinamik yang dihasilkan oleh JavaScript boleh menimbulkan cabaran kerana ia sifat tak segerak. Kandungan ini tidak muncul dalam sumber HTML yang diambil oleh permintaan HTTP tradisional.
Penyelesaian
Untuk mengakses kandungan yang dijana JavaScript, kami memerlukan penyelesaian yang boleh melaksanakan JavaScript dalam kod Python kami. Berikut ialah dua pendekatan yang disyorkan:
1. Selenium dengan PhantomJS
Selenium ialah perpustakaan Python yang membolehkan kami mengawal penyemak imbas web. Dengan menggunakan PhantomJS, penyemak imbas tanpa kepala, kami boleh melaksanakan kod JavaScript dan mendapatkan semula kandungan yang diberikan.
Contoh:
from selenium import webdriver driver = webdriver.PhantomJS() driver.get(my_url) p_element = driver.find_element_by_id(id_='intro-text') print(p_element.text)
2. Dryscrape
Dryscrape ialah perpustakaan Python yang direka untuk mengikis tapak web dipacu JavaScript. Ia menyediakan penyemak imbas tanpa kepala yang boleh melaksanakan JavaScript dan mendapatkan semula DOM.
Contoh:
import dryscrape from bs4 import BeautifulSoup session = dryscrape.Session() session.visit(my_url) response = session.body() soup = BeautifulSoup(response) soup.find(id="intro-text")
Dengan penyelesaian ini, anda boleh mengakses kandungan dinamik yang dihasilkan oleh JavaScript dan teruskan tugas mengikis web anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengikis Kandungan JavaScript Dinamik Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!