從 0 到 1 帶你搭建 Java 并發(fā)爬蟲框架(二):爬蟲框架和項目搭建
本篇開始框架的第一步,先了解下整個框架的思路,然后到IDE中創(chuàng)建項目,開始ing。
爬蟲框架搭建
主體框架采用現(xiàn)在比較火熱的微服務(wù)框架 Spring Boot,HTTP 請求部分基于 HttpClient 封裝,頁面解析部分使用 FastJson + jsoup,數(shù)據(jù)儲存采用 Bmob 后端云數(shù)據(jù)庫。項目的整體架構(gòu)如下圖(點擊放大):

整個框架根據(jù)功能或業(yè)務(wù)分為 4 層 / 模塊:代理層、HTTP 請求層、業(yè)務(wù)層、調(diào)度層。后面會依次介紹每一層的實現(xiàn)邏輯,首先我們從創(chuàng)建項目開始。
注:在學(xué)習(xí)和實踐爬蟲框架搭建時,建議將源碼項目也在編輯器中打開,參考著源碼看文章效果更好,因為文中不可能把所有代碼都貼出來,未貼出的部分可以在源碼中了解,這樣更方便理解框架。
框架源碼地址:
https://github.com/AlanYangs/spiders/tree/master/spider-framework
一、新建 Spring Boot 項目
本項目采用宇宙最強的 IDEA 開發(fā)工具,新建 Spring Boot 項目,JDK 建議選擇 1.8(熟悉的同學(xué)可以跳過本小節(jié)):

下一步,輸入項目的 group 和 artifact:

下一步,選擇依賴,這里暫時就選擇 Web:

下一步,輸入 module 名稱,項目創(chuàng)建完成。

接著再新建一些后面需要用的包,整體的項目結(jié)構(gòu)及核心包名的說明如下圖所示:

再貼一下項目中所需要用到的依賴,這里就直接給出對應(yīng)的 pom:
org.springframework.boot spring-boot-starter-web org.apache.httpcomponents httpclient 4.5.5 com.google.guava guava 18.0 org.jsoup jsoup 1.11.2 com.alibaba fastjson 1.2.51 commons-io commons-io 2.6 org.springframework.boot spring-boot-starter-test test
后面章節(jié)將會按架構(gòu)圖中分層的功能和模塊來逐步實現(xiàn)對應(yīng)的功能和服務(wù)。
【本系列歷史章節(jié)鏈接】:
從 0 到 1 帶你搭建 Java 并發(fā)爬蟲框架(一):爬蟲原理和流程
