Java实现网络爬虫 案例代码

来源:这里教程网 时间:2026-03-03 18:10:19 作者:

Java实现网络爬虫 案例代码4:使用webmagic框架从网上获取《三国演义》全文 需求说明 搭建开发环境,实现《三国演义》全文保存在本地 步骤分析 访问网址:http://www.shicimingju.com/book/sanguoyanyi.html 分析网站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) {         // 部分二:定义如何抽取页面信息,并保存下来  http://www.shicimingju.com/book/sanguoyanyi/         page.putField("id", page.getUrl().         regex("http://www\\.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("(http://www\\.shicimingju\\.com/book/sanguoyanyi/(\\d+)\\.html)").all());     }     @Override     public Site getSite() {         return site;     }     public static void main(String[] args) {         Spider.create(new NovelRepoPageProcessor())                 //从"http://www.shicimingju.com/book/sanguoyanyi.html"开始抓                 .addUrl("http://www.shicimingju.com/book/sanguoyanyi.html")                 .addPipeline(new JsonFilePipeline("D:\\webmagic\\"))  //JSON格式保存结果到文件                 //开启5个线程抓取                 .thread(5)                 //启动爬虫                 .run();     } }

相关推荐