java爬蟲-利用jsoup爬取小說(最簡)

1、從心 我永遠喜歡那啥對吧

2、寫唄

3、參考資料:jsoup開發指南,jsoup中文使用手冊,jsoup中文文檔(百度)

詳情頁(含章節鏈接)

章節頁(含正文)

 

源碼解析(不敢放網址)

 思路:獲取需要的所有章節鏈接-->獲取章節內容

    //獲取鏈接
    public void getUrlTest(){
        String url = "http://******************/5626/";
        Document doc = getDocument(url);
        
        //選擇下面的那個<ul class="chapters">,順便吐槽下這網站
        Element element = doc.select("ul.chapters").last();

        //選擇帶有href的a標籤
        Elements elements = element.select("a[href]");
        
        for(Element e:elements){
            //選擇href的值---也就是我們需要的url(你們可以保存到List裏)
            System.out.println("url:" + e.attr("href"));
        }
    }

    //獲取doc
    public Document getDocument (String url){
        try {
            return Jsoup.connect(url).get();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

獲取鏈接測試結果: 

 

 

    public void getContentTest(){
        String url = "http://********************/5626/4939363.html";
        Document doc = getDocument(url);
        //你可以把它打印出來瞅瞅
        //System.out.println(doc);
        
        //標題(章節名) <div class="title">
        Element element = doc.select("div.title").first();
        //<div class="title"> 第一章 我是魔教教主?</div> 輸出標籤中間的內容
        String title = element.html();
        System.out.println("title:" + title);

        //正文 <div id="content" class="content">
        Element element1 = doc.select("div.content").first();
        String content = element1.html();
        //只去除了部分
        content = content.replaceAll("&nbsp;"," ");
        content = content.replaceAll("<br>","");
        System.out.println("content:" + content);
    }

獲取章節內容測試結果:

 

相信有了這些核心,什麼字符串保存到txt文件啦,都難不倒你們的。不會的,不是還有百度嘛

 

最後:從心

免責聲明: 本程序僅作爲學習交流使用,不得用於任何商業途徑。使用不當所造成的後果,本人概不負責。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章