Java實現網路爬蟲 案例程式碼
Java實現網路爬蟲 案例程式碼4:使用webmagic框架從網上獲取《三國演義》全文
需求說明
搭建開發環境,實現《三國演義》全文儲存在本地
步驟分析
訪問網址:
分析網站URL、文件內容特徵
獲取網頁內容
拆分出需求內容
儲存在本地
案例程式碼
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.pipeline.ConsolePipeline;
import us.codecraft.webmagic.pipeline.FilePipeline;
import us.codecraft.webmagic.pipeline.JsonFilePipeline;
import us.codecraft.webmagic.processor.PageProcessor;
public class NovelRepoPageProcessor implements PageProcessor {
// 部分一:抓取網站的相關配置,包括編碼、抓取間隔、重試次數等
private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);
@Override
// process是定製爬蟲邏輯的核心介面,在這裡編寫抽取邏輯
public void process(Page page) {
// 部分二:定義如何抽取頁面資訊,並儲存下來
page.putField("id", page.getUrl().
regex("\\.shicimingju\\.com/book/sanguoyanyi/(\\d+)\\.html").toString());
page.putField("name",
page.getHtml().xpath("//h1/text()").toString());
if (page.getResultItems().get("name") == null) {
//skip this page
page.setSkip(true);
}
//<div class="chapter_content">
page.putField("content",
page.getHtml().xpath("//div[@class='chapter_content']/tidyText()"));
// 部分三:從頁面發現後續的url地址來抓取
page.addTargetRequests(page.getHtml().links().
regex("(\\.shicimingju\\.com/book/sanguoyanyi/(\\d+)\\.html)").all());
}
@Override
public Site getSite() {
return site;
}
public static void main(String[] args) {
Spider.create(new NovelRepoPageProcessor())
//從""開始抓
.addUrl("")
.addPipeline(new JsonFilePipeline("D:\\webmagic\\")) //JSON格式儲存結果到檔案
//開啟5個執行緒抓取
.thread(5)
//啟動爬蟲
.run();
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2924582/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java+MySQL實現網路爬蟲程式JavaMySql爬蟲
- Java實現網路爬蟲 案例程式碼:從網上獲取《三國演義》全文Java爬蟲
- Java實現網路爬蟲 案例程式碼3:使用webmagic框架獲取天氣預報Java爬蟲Web框架
- Java網路爬蟲實操(10)Java爬蟲
- Java網路爬蟲實操(1)Java爬蟲
- Java網路爬蟲實操(6)Java爬蟲
- Java網路爬蟲實操(2)Java爬蟲
- Java網路爬蟲實操(3)Java爬蟲
- Java網路爬蟲實操(4)Java爬蟲
- Java網路爬蟲實操(5)Java爬蟲
- Java網路爬蟲實操(7)Java爬蟲
- Java網路爬蟲實操(9)Java爬蟲
- Java網路爬蟲實操(8)Java爬蟲
- 《網路爬蟲開發實戰案例》筆記爬蟲筆記
- 網路爬蟲——爬蟲實戰(一)爬蟲
- 微博爬蟲 java實現爬蟲Java
- python實現selenium網路爬蟲Python爬蟲
- 網路爬蟲(六):實戰爬蟲
- 網路爬蟲爬蟲
- python網路爬蟲應用_python網路爬蟲應用實戰Python爬蟲
- Python網路爬蟲實戰Python爬蟲
- 淺談網路爬蟲中深度優先演算法和簡單程式碼實現爬蟲演算法
- java實現一個簡單的爬蟲小程式Java爬蟲
- 爬蟲案例爬蟲
- 網路爬蟲精要爬蟲
- 網路爬蟲示例爬蟲
- 基礎爬蟲案例實戰爬蟲
- 什麼是網路爬蟲程式[轉]?爬蟲
- 【Python爬蟲9】Python網路爬蟲例項實戰Python爬蟲
- 《Python3網路爬蟲開發實戰程式碼》基本庫使用Python爬蟲
- [網路爬蟲] 網路爬蟲實踐:大麥網演唱會預約搶票 【待續】爬蟲
- 2019最新《網路爬蟲JAVA專案實戰》爬蟲Java
- 網路爬蟲——Urllib模組實戰專案(含程式碼)爬取你的第一個網站爬蟲網站
- 《Python3網路爬蟲開發實戰》教程||爬蟲教程Python爬蟲
- 爬蟲案例(六)爬蟲
- 網路爬蟲有什麼用?怎麼爬?手把手教你爬網頁(Python程式碼)爬蟲網頁Python
- 網路爬蟲的原理爬蟲
- 網路爬蟲專案爬蟲