斷斷續續地在網路和書籍上學習有關 Python 的爬蟲技術,但隨著反爬蟲的技術也是越來越精進,所以想說藉由 「超新手也能用 Python 爬蟲打造貨比千家的比價網站」這門課來看看能否解決相關的疑惑。這篇講述動態資料的問題。
課程相關資訊
[連結]:https://hiskio.com/courses/527/lectures/27141
本篇範圍:Chapter 3 ( 由前端 JavaScript 產生的資料,動態網站爬蟲實現 )
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
筆記
1. 動態網頁是指瀏覽器取得 HTML 後,才透過 JavaScript 去取得一些動態更新的資料。( Client-Side Rendering )
2. 跟靜態網頁不同的是「網頁上的資料產生的時間點」
3. 瀏覽器收到內容後,會先產生一個相對空白的頁面,這也是利用 Python 攔截到的 Response 的畫面。不能算是準確地爬到資料
4. 如何判斷是否為動態網頁?藉由開發者工具→齒輪圖示→關閉 JavaScript→重新整理畫面,如果你發現畫面上的資料有所差異,那就有機會是使用動態網頁技術
5. 從模擬瀏覽器→模擬使用者開啟瀏覽器;利用 Python 模擬 JavaScript 拉資料的流程