首頁 > 後端開發 > Python教學 > 如何在 Python 中存取動態 Web 內容值:有效的解決方案?

如何在 Python 中存取動態 Web 內容值:有效的解決方案?

Susan Sarandon
發布: 2024-10-19 07:43:30
原創
812 人瀏覽過

How to Access Dynamic Web Content Values in Python: Effective Solutions?

如何使用Python 擷取動態HTML 內容的值:綜合指南

嘗試使用下列指令從具有動態載入內容的網站擷取資料時在Python 中,您可能會遇到困難,即檢索到的佔位符範本文字取代了實際值。此問題源自於 BeautifulSoup 等傳統方法無法執行建立動態元素的 JavaScript 渲染。

要解決此問題,請考慮以下解決方案:

  • 直接解析AJAX JSON: 取得填充動態內容的JSON 資料並提取感興趣的值。
  • 使用離線 JavaScript 解釋器: 使用 SpiderMonkey 或 Crowbar 等工具在客戶端執行 JavaScript 並在本機上產生動態內容。
  • 利用瀏覽器自動化工具:利用 Selenium 或 Watir 等工具來控制無頭瀏覽器並執行 JavaScript,有效捕捉渲染的內容。 Selenium 是 Web 測試的熱門選擇,可與 BeautifulSoup 結合使用進行資料擷取。

應用Selenium 和BeautifulSoup

檢索“中位數”使用Selenium 和BeautifulSoup 從提供的網站中獲取“值”,請按照以下步驟操作:

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

driver = webdriver.Firefox()
driver.get('URL_OF_PAGE')

html = driver.page_source
soup = BeautifulSoup(html)

for tag in soup.find_all("class", "formatPrice median"):
    print(tag.text)</code>
登入後複製

此方法將模擬瀏覽器訪問網站,捕獲渲染的HTML,並使用BeautifulSoup 定位並提取“中位數” “值。

以上是如何在 Python 中存取動態 Web 內容值:有效的解決方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板