ReadMoo 電子書爬蟲
wordsCount: 531
readingTime: 2 mins
viewers:
緣由
因閱讀電子書,一直有畫重點的習慣,但官方提供的匯出csv或html,沒有排序,也有輸出總量的限制,html版面也呈現不出重點, 所以自己從爬蟲開始做了專案,將個人重點整理成html匯出。
關於爬蟲
現代網站大多是動態網站,不是靜態,已經不是python request就能取得資料
解法通常是
- 透過API取得資料
- 透過模擬瀏覽器行為取得資料(selenium)
比較
抓取速度 | 開發複雜度 | 受前端版面影響 | 破解速度 | debug 方便性 | js 加密混淆影響 | |
---|---|---|---|---|---|---|
API取資料 | 快 | 高 | 沒有 | 慢 | 好 | 難度提高 |
模擬瀏覽器 | 慢 | 簡單 | 有 | 快 | 不好 | 沒有 |
從api取得資料,要去追蹤一個api所需的參數有哪些? 從哪裡可找到? 開發者工具是必須要熟練的, 而模擬瀏覽器,就是模擬人的操作行為,但速度慢,debug也不方便(不像api可以有response可直接觀察), 其實還是有其技術經驗門檻,但卻是最暴力直接的方式,但前端只有小改一個tag,就可能讓爬蟲失效(看定位的依據)。
個人觀點
從selenium出發,幾乎可以不用了解網站就能開始做爬蟲,但自己能寫過網站前後端後,才開始善用另一種方式, 爬蟲開發者如果要往上走,還是要了解網站的運作,才能更有效率的開發。
Github專案
用分析Api,獲取資料(login未實作,簡單從cookie拿取就可)
Table of Contents
Related Posts
Message Queue[三] Kafka
緣由 因為工作學了rabbitMQ,所以閒暇之餘來學kafka,想知道兩者的差異 比較 速度 訊息保證 訊息大
2024-11-23
Architecture_Patterns_With_Python基礎概念
Value Object 值物件 定義:單存資料,沒有特定身份,通常讓他不可變 兩個物件相等的條件是:所有值相等 python 實作方式 dataclass 例
2024-9-1
Process & Thread [一]
前言 之前在工作上,已經運用多線程,協程,但對於底層運行,還不到通透的地步,重新整理知識 基礎知識 Program 程式
2024-7-25
Process & Thread [二]
Python Global Interpreter Lock 一個GIL鎖,主要是在Cpython的解釋器上,在每個進程生成時,會有一個解釋器負責解釋 ,對
2024-7-25
PoEAA Layer分層
分層 在不管是軟體的開發或硬體架構,分層的作法到處都是,雖然分層讓層與層之間,多了一個轉換的動作, 但一
2024-6-9
Sponsor
Wechat
Alipay