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(); } }
Java实现网络爬虫 案例代码
来源:这里教程网
时间:2026-03-03 18:10:19
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 聊一聊华为云弹性公网IP的那些事儿
聊一聊华为云弹性公网IP的那些事儿
26-03-03 - 一个惊出一身冷汗的报错
一个惊出一身冷汗的报错
26-03-03 - 华为云数据库GaussDB持续技术创新,助推企业释放数字生产力
华为云数据库GaussDB持续技术创新,助推企业释放数字生产力
26-03-03 - SQL语言基础(SELECT语句)
SQL语言基础(SELECT语句)
26-03-03 - 抖音、快手、视频号排兵布阵VR直播
抖音、快手、视频号排兵布阵VR直播
26-03-03 - 美团Q3财报解读:即时零售订单量50亿笔,变身本地超市?
美团Q3财报解读:即时零售订单量50亿笔,变身本地超市?
26-03-03 - 华为云会议,云上办公更轻松高效
华为云会议,云上办公更轻松高效
26-03-03 - 华为云会议录制能力再升级,会议成果全收录!
华为云会议录制能力再升级,会议成果全收录!
26-03-03 - 分布式光伏运维平台AcrelCloud-1200可用于农村屋顶的户用光伏和工商业企业屋顶光伏
- 华为云桌面Workspace云上办公,方便得很!
华为云桌面Workspace云上办公,方便得很!
26-03-03
