java 采集器_使用jsoup来写小说采集器
現(xiàn)在的小說越來越難找了,一般都是在線的,費(fèi)流量且收藏起來麻煩。
所以我覺得寫一個(gè)整理器,從某些小說網(wǎng)站獲取小說內(nèi)容并保存為txt文件。
我們使用jsoup
它的maven描述為:
org.jsoup
jsoup
1.11.2
我們先找個(gè)小說網(wǎng)站,比如我們百度“思路客”,點(diǎn)擊一個(gè)網(wǎng)站(http://www.siluwu.com)進(jìn)去后,搜索 煙雨江南的“褻瀆”
搜索好文章點(diǎn)進(jìn)去后
這就是文章列表。
下面就開始分析和采集了
這里我們需要分析文章。
首先我們先獲取小說的文章名,我們知道文章名是id為title的div
我們獲取ID為title的內(nèi)容。他的路徑是"#title" 和jQuery很相似。String?xiaoshuoTitle?=?JsoupUtil.getElementString(doc,?"#title");
下面我們來獲取文章目錄:
根據(jù)分析我們可以得知 文章在一個(gè)ID為list的層下面.
所以我們可以使用Elements?es?=??JsoupUtil.getElements(doc,?"#list?>?dl?>?dd?>?a");
這樣我們就可以獲取所有的文章鏈接。
我們可是使用?e.attr("href") 來獲取鏈接地址 使用?e.text() 來獲取鏈接內(nèi)容,也就是文章標(biāo)題。
代碼如下:private?static?List?getList(Document?doc)?throws?IOException{
Elements?es?=??JsoupUtil.getElements(doc,?"#list?>?dl?>?dd?>?a");
List?as?=?new?ArrayList();for(int?i?=0?;?i?
Article?a?=?new?Article();
Element?e?=?es.get(i);
a.setLink(e.attr("href"));
a.setTitle(e.text());
as.add(a);
}return?as;
}
這樣我們就可以拿到一個(gè)文章集合。下面就是去解析每篇文章的標(biāo)題:
我們發(fā)現(xiàn)文章在一個(gè)ID為content的層里面。
所以我們可以通過?JsoupUtil.getElements(doc, "#content").first(); 來獲取文章所在層。并且可以通過?html()方法來返回內(nèi)容。
下面我們要做的就是將所有的html標(biāo)簽去除,并且將
替換為換行。String?content?=?getArticle(root_url+link);
content?=?content.replaceAll("?",?"?");
content?=?content.replaceAll("
",?"\n");
content?=?content.replaceAll("\n+",?"\n");
content?=?content.replaceAll("]+>",?"");
content?=?content.replace("read_content_up();",?"");
content?=?title+"\n"+content;
最后我們只需要將字符串拼接成為小說,并保存為txt文件。這樣把txt導(dǎo)入到手機(jī)里 就是完整小說了。
總結(jié)
以上是生活随笔為你收集整理的java 采集器_使用jsoup来写小说采集器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: surface pro 7 linux,
- 下一篇: 分治算法实现经典归并排序java实现