计科前沿 || 用java获取小说网页章节列表
优采云 发布时间: 2022-06-07 06:27计科前沿 || 用java获取小说网页章节列表
熟悉网络的人
想必都有了解过“网络爬虫”吧!
网络爬虫是一种按照一定的规则
自动地抓取万维网信息的程序或者脚本
(当然以小编的实力还做不出来)
今天小编就通过一段代码
来获取小说网页上指定小说的章节列表
(比如笔趣读里的圣墟:)
首先我们需要在网上下载jsoup这个jar包
jsoup 是一款Java 的HTML解析器
可直接解析某个URL地址、HTML文本内容
Jsoup下载地址:
接下来就是代码了
。。。
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
.URL;
.URLConnection;
importjava.util.ArrayList;
importjava.util.List;
importorg.jsoup.Jsoup;
importorg.jsoup.nodes.Document;
importorg.jsoup.nodes.Element;
importorg.jsoup.select.Elements;
publicclassChapter {
/**
* 网页数据获取方法
* @paramurl
* @paramencoding
* @return
*/
publicstaticString getHtmlResourceByUrl(String url,String encoding)
{
StringBuffer buffer= newStringBuffer();
InputStreamReader isr= null;
try{
//建立网络链接,将字符串形式的链接地址转换为网络链接
URL urlObj= newURL(url);
//打开网络链接
URLConnection uc= urlObj.openConnection();
isr= newInputStreamReader(uc.getInputStream(),encoding);
//建立缓冲
BufferedReader reader= newBufferedReader(isr);
String line= "";
while((line=reader.readLine())!=null)
{
//一边读,一边写
buffer.append(line+"\n");
}
} catch(Exception e){
e.printStackTrace();
}
finally{
try{
if(isr!=null)
isr.close();
} catch(IOException e){
e.printStackTrace();
}
}
returnbuffer.toString();
}
/**
* 数据筛选核心方法
* @paramurl
* @return
*/
publicstaticList getsChapter(String url)
{
String html= getHtmlResourceByUrl(url,"utf-8");//获取网页源代码
List Chapters= newArrayList();
//解析源代码
Document document= Jsoup.parse(html);
//获取章节列表
Elements elements= document.select("#list dd a");
//遍历所有的章节
for(Element el: elements)
{
String chapter;
chapter=el.text();//获取章节名
Chapters.add(chapter+"\n");
}
returnChapters;
}
publicstaticvoidmain(String[] orgs){
List Chapters= newArrayList();
//在此处输入指定小说章节网址
Chapters= getsChapter("");
for(String chapter: Chapters){
System.out.println(chapter);
}
}
}
将这段代码运行之后,就能得到《圣墟》的章节列表了
怎么样,想不想试一试?