要抓取保養品的資訊,就要提到爬蟲的技術,去自動化的抓取保養品的相關資料。
什麼是爬蟲(Crawler)?
- 是一種自動瀏覽全球資訊網的程式
- 透過http請求對網站自動化抓取資料、上傳資料
流程
-
起始 URL:首先會有一個或多個初始的 URL
-
發送請求:爬蟲對這些 URL 發送 HTTP GET 請求,以獲取頁面內容
-
解析內容:獲取到網頁內容後,爬蟲會解析這些 HTML或 JSON 文檔,以找到需要的信息以及新的目標 URL
-
資料存儲:解析出來的有用信息通常會被保存到資料庫或其他存儲結構中。
-
URL 佇列:新找到的 URL 會被加到一個待訪問的 URL 佇列裡
-
遞迴操作:爬蟲會繼續對佇列中的新 URL 進行上面的操作,直到達到一定的終止條件(如爬取的頁面數達到一定數量、或資料已足夠)
流程中提到,解析內容時除了找到需要的訊息,也可能找到新目標的URL,再繼續遞迴操作。
而爬蟲的搜尋策略決定了它會如何跑索引網絡資源
爬蟲的搜尋策略
-
基於寬度的搜尋(Breadth-First Search, BFS)
- 爬蟲會先訪問起始網頁上所有的連結,然後再訪問這些連結指向的所有其他網頁的連結,依此類推。
- 這種方法適用於搜尋範圍較小、目標資訊集中在某幾層內的情況。
-
基於深度的搜尋(Depth-First Search, DFS)
- 這種策略會盡可能地遍歷每一條路徑,直到達到一個終點,然後再回溯。
- 這種方式更有可能訪問到「深層」的網頁,但也有可能因為深入到某一個分支而忽略了其他有價值的資訊。
-
平行式搜尋
- 多個爬蟲並行工作,通常由一個中央協調者來分配任務和收集資料。
- 可以提高爬取速度,但提生了維護的複雜性。
注意事項
-
遵循
robots.txt
:這是一個存放在網站根目錄的文件,用來指示哪些頁面可以被爬蟲訪問或不可以訪問。
-
用戶代理(User-Agent):自己的身份,有時被擋住會需要更改這個部分。
-
獲得許可:某些網站可能有使用條款,限制自動抓取其內容。
-
講求禮貌:避免過度請求,以免對服務器造成負擔
參考
網路爬蟲
今天先到這邊,之後會跟細聊爬蟲的實際操作~