java 爬蟲 WebMagic(一)-Spider


現在做爬蟲的大部分都在用Python,其實java也可以,這里介紹一款輕量級國產爬蟲框架 Webmagic

官方地址:http://webmagic.io/

 

 

 

個人對於爬蟲的理解分為2種,第一種是爬取頁面(靜態數據),第二種是爬取接口(動態加載的數據)

 

對於靜態的頁面數據,關鍵獲取到頁面document結構。

對於接口的數據,關鍵是找到接口鏈接和對應參數。

 

Webmagic對着兩種都有非常簡潔,易於理解的處理方案。

三個核心:PageProcessor,Pipeline,Spider

PageProcessor 實現爬取規則

Pipeline            實現數據持久化

Spider    啟動爬蟲,指定規則。

 

例如:

Spider.create(new MyProcessor())
.addPipeline(new MyPipeline())
.addUrl("http://www.xxxx.com").thread(3).run();

表示 啟動一個爬蟲,爬取規則為MyProcesser,爬取后的數據處理方式為MyPipeline,目標網站為http://www.xxxx.com,線程數量為3個,就是這么簡潔。

如要處理非http GET的請求方式,可以同Request對象,例如:

Request request = new Request("http://xxx/path");
request.setMethod(HttpConstant.Method.POST);
request.setRequestBody(HttpRequestBody.json("{'id':1}","utf-8"));
Spider.create(new MyProcessor())
.addPipeline(new MyPipeline())
.addRequest(request).thread(3).run();

HttpRequestBody內置了幾種初始化方式,支持最常見的表單提交、json提交等方式。

 

 

另附一張官方架構圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM