使用Python 從動態HTML 內容擷取值
嘗試從動態載入內容的網站擷取資料時,使用庫的標準Web抓取方法像urllib 可能會遇到限制。這是因為瀏覽器通常使用 JavaScript 範本來呈現頁面上的動態元素。因此,這些範本不會出現在網頁抓取庫收到的原始 HTML 中。
解決方案
要克服這個問題,有幾個選項可用:
使用 Selenium 和 BeautifulSoup
Selenium 提供了一種便捷的方法從網站獲取渲染的 HTML 內容,BeautifulSoup 可以用來有效地解析 HTML。以下是一個適用於給定網站的修改後的程式碼片段:
<code class="python">from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Firefox() driver.get(url) html = driver.page_source soup = BeautifulSoup(html) for tag in soup.find_all("span", class_="formatPrice median"): print(tag.text)</code>
此程式碼使用 BeautifulSoup 的 find_all 方法來搜尋與所需值相對應的特定 CSS 類別名稱。在本例中,類別名稱為 formatPrice Median。
結論
透過使用Selenium 等瀏覽器自動化工具,您可以有效地從動態產生的HTML 內容中檢索值,提供針對涉及JavaScript 範本或基於AJAX的資料載入的網頁抓取場景的強大解決方案。
以上是如何使用 Python 提取動態 HTML 內容值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!