자바가 소설 채집 프로그램의 간단한 실례를 실현하다
단지 간단한 실현일 뿐, 좋아하는 소설을 다운로드하기 위해 손으로 썼다.예시 중의 소설은 예시일 뿐 나의 요리가 아니다.
jsoup을 사용했습니다.아주 좋은 공구 하나.
필요하면 참고해서 고치세요.아주 간단하죠?
코드는 다음과 같습니다.
package com.zhyea.doggie;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Doggie {
public static void main(String[] args){
try{
File txtFile = new File("D:/ .txt");
createTxtDoc(txtFile);
addContent(txtFile);
}catch(Exception e){
e.printStackTrace();
}
}
/**
*
* @param txtFile
*
* @throws IOException
* @throws InterruptedException
*/
private static void addContent(File txtFile) throws IOException, InterruptedException{
appendTxt(txtFile, getBookInfo(" ", " "));
String url = "http://www.83kxs.com/View/12/12653/{pattern}.html";
for(int i=5850686; i<=5945501; i++){
try{
String tmp = url.replace("{pattern}", i+"");
appendTxt(txtFile, getPageContent(tmp));
}catch(Exception e){
e.printStackTrace();
continue;
}
}
}
/**
*
* @param bookName
*
* @param author
*
* @return
*/
private static String getBookInfo(String bookName, String author){
return COMMON.replace("{book}", bookName).replace("{author}", author);
}
/**
*
* @param url
*
* @return
* @throws IOException
*/
private static String getPageContent(String url) throws IOException{
String rtn = null;
Document doc = Jsoup.connect(url).get();
Elements content = doc.select(".text p");
Elements title = doc.select("#title");
System.out.println(title.text());
content.select("font").remove();
content.select("script").remove();
content.select("ins").remove();
content.select("a").remove();
rtn = title.text() + NEWLINE
+ content.html().replaceAll("<p>", "")
.replaceAll("</p>", "")
.replaceAll("\\<!--(.+)--\\>", "")
.replaceAll(" ", "")
.replaceAll("<br>", NEWLINE)
+ NEWLINE;
return rtn;
}
/**
* txt
* @param fullName
*
* @return
* @throws Exception
*/
private static boolean createTxtDoc(File txtFile) throws Exception{
try{
return txtFile.createNewFile();
}catch(Exception e){
throw e;
}
}
/**
* txt
* @param txtFile
* txt
* @param content
*
* @throws IOException
*/
private static void appendTxt(File txtFile, String content) throws IOException{
FileWriter writer = null;
try{
writer = new FileWriter(txtFile, true);
writer.append(content);
}finally{
if(null!=writer)writer.close();
}
}
/**
*
*/
static final String NEWLINE = System.getProperty("line.separator");
/**
*
*/
static String COMMON = "------------------------------------------------------------------" + NEWLINE
+ "--------------- :{book}" + NEWLINE
+ "--------------- :{author}" + NEWLINE
+ "--------------- zhyea.com" + NEWLINE
+ "------------------------------------------------------------------" + NEWLINE;
}
지금까지 여러분을 위해 가져온 자바가 소설 채집 프로그램을 실현하는 간단한 실례의 전부입니다. 많은 응원 부탁드립니다~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.