首頁  >  文章  >  後端開發  >  如何使用 Python 提取動態 HTML 內容值?

如何使用 Python 提取動態 HTML 內容值?

DDD
DDD原創
2024-10-19 07:48:31343瀏覽

How to Extract Dynamic HTML Content Values with Python?

如何使用 Python 從動態 HTML 內容中提取值

從網站檢索資料時,遇到動態內容是很常見的。透過使用 Python 的標準函式庫(例如 requests),您可能無法存取這些在執行時間載入的值。

處理動態內容的解決方案

到克服這個挑戰,請考慮以下解決方案:

  • 直接解析Ajax JSON: 造訪網站用於載入動態內容並提取所需值的JSON 物件。
  • 使用離線 JavaScript 解釋器:使用像 SpiderMonkey 這樣的解釋器來執行 JavaScript 程式碼並在 Python 應用程式中渲染 HTML。
  • 瀏覽器自動化工具: 使用 Selenium 或 Watir 等工具來模擬瀏覽器操作並存取渲染的 HTML。

Selenium 用於值提取

Selenium 提供了一種全面的處理方法動態內容。使用方法如下:

  1. 安裝和設定 Selenium: 確保 Selenium 及其相依性已安裝在您的 Python 環境中。
  2. 實例化一個 Web driver: 使用 webdriver 類別建立 Web 驅動程序,例如 Firefox 或 Chrome。
  3. 載入 URL: 使用 get() 方法導覽至所需的網站。
  4. 擷取 HTML: 使用 page_source 屬性擷取頁面渲染的 HTML。
  5. 使用 BeautifulSoup 解析:使用 BeautifulSoup 解析 HTML 並擷取所需的元素。

Handlebars 驅動網站的範例

考慮一個使用 Handlebars 範本的網站。要擷取「中位數」值:

<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>

此範例示範如何使用 Selenium 存取渲染的 HTML 並使用 BeautifulSoup 解析它。

以上是如何使用 Python 提取動態 HTML 內容值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn