分享一段我抓小说用的代码~用这个可以在D盘里面直接创建一个名字叫“武动乾坤.txt”的文件,当然这个是《武动乾坤》所有章节的最新全本哦,O(∩_∩)O~
原理:通过java或者其他语言分析网页结构,把内容抓取下来写入文件,方式很像网络爬虫。我之前搞过一个小说采集站:咔噔全本小说,就是利用的这种方法。后来种种原因长时间未更新了,其实主要原因就是懒,不过此站小说全部免费下载,算个公益站吧。
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import quanben_com.util.IOUtil;/**
- 书名:武动乾坤
- 采集地址:http://www.pfwx.com/wudongqiankun/
@author www.kaedeen.com
/
public class GetSingleBook {private final static int RETRY_TIME = 100;
/**
@param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String url=”http://www.pfwx.com/wudongqiankun/“;
String path=”D:/“;
Document doc = getDocument(url);//获得采集章节list
List chapterList=new ArrayList();Elements es = doc.select(“.zhangjiekaishi a”);
if(!es.isEmpty())
{for(Element e : es) { String href= e.attr("href"); chapterList.add(href); }
}
//根地址
String rootUrl = url.substring(0, url.lastIndexOf(“/“));System.out.println(“开始采集 …….”);
if(null!=chapterList&&chapterList.size()>0)
{for(int i=0;i]+>", "rn").replaceAll("", "").replace(" ", " ") .replaceAll("★★", "").replaceAll("如果觉得", "").replaceAll("好看,请把本站网址推荐给您的朋友吧! ", "");
content= title+”rn”+content;
return content;
}/**
- jsoup通用获取网页内容,支持多次断开重连,重连次数可自定义
- @param url
@return
*/
public static Document getDocument(String url)
{
int time = 0;do{
try { Document doc1 = Jsoup.connect(url) .userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1 ") .timeout(24*60*60*1000).get(); return doc1; } catch (IOException e) { time++; if(time < RETRY_TIME){ System.out.println("请求超时,进行第"+time+"次重连……"); try { Thread.sleep(3000); } catch (InterruptedException e1) { continue; } } }
}while(time < RETRY_TIME);
return null;
}
}
说明:代码仅供参考,项目所需jar包
commons-codec-1.3.jar
commons-logging.jar
jsoup-1.6.3.jar
log4j-1.2.14.jar
如果您是伸手党,可以留言给我,我可以帮您弄成exe版本的,但是暂时仅限武动乾坤这本书吧~最近工作较忙哈。其他问题请留言,enjoy~