<p>
在 Python 中抓取 JavaScript 產生的動態內容
<p>抓取網頁時,JavaScript 產生的動態內容的存在可能會帶來挑戰。這些內容通常隱藏在頁面的原始程式碼中,為依賴靜態 HTML 解析的傳統方法帶來了障礙。
<p>要克服此限制,可以採用多種方法:
-
<p>Selenium 與PhantomJS:
使用 Selenium Python 函式庫來控制 PhantomJS,一個執行網頁並捕捉動態內容的無頭瀏覽器。 - 透過 ID 或其他 CSS 尋找元素選擇器並提取其文字或其他屬性。
-
-
<p>dryscrape:
安裝 dryscrape Python 庫。 - 建立 dryscrape 會話並存取目標 URL。
- 存取頁面正文作為字串並使用 BeautifulSoup 解析。
- 根據解析的 HTML 文件擷取內容。
-
<p>示例:
考慮一個包含以下內容的網頁HTML:<p>
<p>沒有JavaScript支援:
import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
soup.find(id="intro-text")
# Output: <p>
登入後複製
<p>有JavaScript 支援(Selenium):
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)
# Output: Yay! Supports javascript
登入後複製
<p>支援JavaScript (dryscrape):
透過利用這些技術,您可以有效地抓取JavaScript產生的動態內容並存取網頁上的完整資訊。 以上是如何使用 Python 抓取 JavaScript 產生的動態 Web 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!