Python的requests庫本身無法直接抓取動態網頁,因為requests只能發送HTTP請求并接收響應,它并不具備解析JavaScript生成的內容的能力。
要抓取動態網頁,通常需要使用Selenium或Pyppeteer等工具來模擬瀏覽器行為,從而獲取動態加載后的網頁內容。這些工具可以執行JavaScript代碼,等待頁面元素加載完成后再獲取頁面內容,因此可以抓取到動態網頁的數據。
以下是一個使用Selenium抓取動態網頁的示例代碼:
from selenium import webdriver
# 創建Chrome瀏覽器實例
driver = webdriver.Chrome()
# 訪問目標網頁
driver.get("https://example.com")
# 等待頁面元素加載完成
driver.implicitly_wait(10)
# 獲取頁面內容
html = driver.page_source
# 處理頁面內容
# ...
# 關閉瀏覽器實例
driver.quit()
在這個示例中,我們使用Selenium創建了一個Chrome瀏覽器實例,然后訪問了目標網頁。通過調用implicitly_wait方法,我們指定了等待頁面元素加載完成的超時時間。最后,我們獲取了頁面內容并進行處理,然后關閉了瀏覽器實例。