[英]Is there any other way to extract data from dynamic website, rather than using selenium?
我正在嘗試從網站https://shop.nordstrom.com/中提取所有產品(如襯衫、T 恤等)的數據。 頁面是動態加載的。 我知道我可以將 selenium 與無頭瀏覽器一起使用,但這也是一個耗時的過程並且查找元素,具有奇怪的 ID 和 class 名稱,這也不太有希望。
所以我想查找網絡工具,如果我能找到 API 的路徑,從那里加載數據(XHR 請求)。 但我找不到任何有用的東西。 那么有沒有辦法從網站上獲取數據呢?
如果您不想使用selenium
則替代方法是使用 web 解析器(如bs4
或僅使用request
模塊。
您在找到對API
的調用方面是正確的。 XHR
請求可以在network
選項卡下看到,但出現的大量資源使得理解正在發出的請求變得復雜。 解決此問題的一種簡單方法是使用以下方法:
而不是
Network
選項卡 go 到console
選項卡。 單擊settings
圖標,然后僅勾選選項Log XMLHTTPRequests
。
現在刷新頁面並向下滾動以啟動動態調用。 您現在將能夠以更清晰的方式查看所有XHR
的日志。
例如
向該URL
發出 get 請求會得到一堆Json
對象。 您現在可以使用此url
和其他您可以派生的直接向URL
提出請求。
請參閱此處的答案,了解如何將url
與請求模塊集成以獲取數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.