• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    西西首頁 常用軟件 軟件下載 安卓軟件 游戲下載 安卓游戲 MAC應用 驅動下載 安卓電視
    系統工具網絡工具媒體工具圖形圖像聊天工具應用軟件編程開發手機軟件安卓應用電腦安全字體素材

    三木猿閱讀(電腦小說漫畫閱讀器)

    v1.0
    • 三木猿閱讀(電腦小說漫畫閱讀器)v1.0
    • 軟件大小:36.8M
    • 更新時間:2020-09-10 11:20
    • 軟件語言:中文
    • 軟件廠商:
    • 軟件類別:國產軟件 / 免費軟件 / 閱讀器類
    • 軟件等級:3級
    • 應用平臺:WinXP, Win7, win8
    • 官方網站:暫無
    好評:50%
    壞評:50%

    軟件介紹

    三木猿閱讀(電腦小說漫畫閱讀器),小說閱讀器軟件,三木猿閱讀器適配PC平臺,可以在電腦上免費瀏覽全網小說資源,支持分類搜索,支持智能書簽,支持離線下載。并且無需注冊會員,讓您輕松體驗PC端看小說的樂趣。本次帶來三木猿閱讀器pc端資源下載。

    三木猿閱讀(電腦小說漫畫閱讀器)

    三木猿閱讀器功能

    在線小說資源閱讀

    離線下載功能

    搜索框

    多數據源篩選

    三木猿閱讀器使用

    解壓后打開exe文件,到瀏覽器輸入http://localhost/,即可開始閱讀,數據源有兩個biquge和biquge5200,頁面借用了起點。

    部分代碼一覽

    package com.aaa.data;

    import com.aaa.config.SSLHelper;

    import com.aaa.dto.BookCatalogueDto;

    import com.aaa.entity.BookCatalogue;

    import org.jsoup.Jsoup;

    import org.jsoup.nodes.Document;

    import org.jsoup.nodes.Element;

    import org.jsoup.nodes.Node;

    import org.jsoup.select.Elements;

    import java.io.IOException;

    import java.util.ArrayList;

    import java.util.HashMap;

    import java.util.List;

    import java.util.Map;

    import java.util.concurrent.*;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    import static com.aaa.util.DataProcessing.splitList;

    /**

     * [url=home.php?mod=space&uid=686208]@AuThor[/url] 楊森

     * [url=home.php?mod=space&uid=1248337]@version[/url] 1.0

     * @Title: BookCatalogue

     * [url=home.php?mod=space&uid=686237]@date[/url] 2020/8/7 15:39

     */

    public class BookCatalogueDB {

        private static ExecutorService executorService;

        public static List<BookCatalogueDto> setDataSource(String dataSource, String bookCod,ExecutorService executorService) {

            BookCatalogueDB.executorService =executorService;

            SSLHelper.init();

            if ("biquge5200".equals(dataSource)) {

                return biquge5200(bookCod);

            } else if ("biquge".equals(dataSource)) {

                return biquge(bookCod);

            }

            return null;

        }

        private static List<BookCatalogueDto> biquge5200(String bookCod) {

            try {

                Map<Integer,List<BookCatalogueDto>> bookCatalogueDtoMaps = new HashMap<>(3);

                Pattern pattern = Pattern.compile("<a\\s*href=\"?([\\w\\W]*?)\"?[\\s]*?[^>]>([\\s\\S]*?)(?=</a>)");

                Document document = Jsoup.connect("https://www.biquge5200.com/" + bookCod + "/").get();

                Elements dd = document.getElementsByTag("dd");

                Map<Integer, List<Element>> integerListMap = splitList(dd, 3);

                CountDownLatch latch=new CountDownLatch(3);

                for (int i = 0; i < 3; i++) {

                    final int ins=i;

                    executorService.execute(() -> {

                        bookCatalogueDtoMaps.put(ins,get(integerListMap.get(ins), bookCod, document, pattern));

                        latch.countDown();

                    });

                }

                latch.await();

                List<BookCatalogueDto> bookCatalogueDtos=new ArrayList<>(dd.size());

                for (int i = 0; i < 3; i++) {

                    bookCatalogueDtos.addAll(bookCatalogueDtoMaps.get(i));

                }

                return bookCatalogueDtos;

            } catch (IOException e) {

                e.printStackTrace();

            } catch (InterruptedException e) {

                e.printStackTrace();

            }finally {

                executorService.shutdown();

            }

            return null;

        }

        public static List<BookCatalogueDto> get(List<Element> dd, String bookCod, Document document, Pattern pattern) {

            List<BookCatalogueDto> bookCatalogueDtos = new ArrayList<>(dd.size());

            Element imgurl = document.getElementById("fmimg");

            Element intro = document.getElementById("intro");

            Element info = document.getElementById("info");

            Element child = info.child(1);

            String h1 = info.select("h1").text();

            for (int i = 0; i < dd.size(); i++) {

                Element element = dd.get(i);

                BookCatalogueDto bookCatalogueDto = new BookCatalogueDto();

                BookCatalogue bookCatalogue = new BookCatalogue();

                Node node = element.childNode(0);

                for (Node e : element.childNodes()) {

                    if (!"".equals(e.toString())) {

                        node = e;

                    }

                }

                bookCatalogueDto.setCatalogueName(node.childNode(0).toString());

                String s1 = node.toString();

                Matcher matcher = pattern.matcher(s1);

                if (matcher.find()) {

                    String nameCodeUrl = matcher.group(1);

                    String insStr = nameCodeUrl.substring(nameCodeUrl.lastIndexOf("/") + 1, nameCodeUrl.lastIndexOf("."));

                    bookCatalogueDto.setCatalogueCod(Integer.parseInt(insStr));

                }

                bookCatalogueDto.setBookName(h1);

                bookCatalogueDto.setBookIntro(intro.text());

                for(Node n :imgurl.childNodes()){

                    if(n.toString().matches("(.*)img(.*)")){

                        bookCatalogueDto.setBookImage(imgurl.childNode(0).toString());

                    }

                }

                bookCatalogueDto.setBookCod(bookCod);

                bookCatalogueDto.setBookAuthor(child.text().replace("作 者:",""));

                bookCatalogueDtos.add(bookCatalogueDto);

                if (i + 1 < dd.size()) {

                    Node node1 = dd.get(i + 1).childNode(0);

                    Matcher matcher1 = pattern.matcher(node1.toString());

                    if (matcher1.find()) {

                        String nameCodeUrl = matcher.group(1);

                        String insStr = nameCodeUrl.substring(nameCodeUrl.lastIndexOf("/") + 1, nameCodeUrl.lastIndexOf("."));

                        bookCatalogue.setNextCode(Integer.parseInt(insStr));

                    }

                }

            }

            return bookCatalogueDtos;

        }

        private static List<BookCatalogueDto> biquge(String bookCod) {

            try {

                Pattern pattern = Pattern.compile("<a\\s*href=\"?([\\w\\W]*?)\"?[\\s]*?[^>]>([\\s\\S]*?)(?=</a>)");

                Document document = Jsoup.connect("https://www.biquge.com/" + bookCod + "/").get();

                Map<Integer,List<BookCatalogueDto>> bookCatalogueDtoMaps = new HashMap<>(3);

                Elements dd = document.getElementsByTag("dd");

                Map<Integer, List<Element>> integerListMap = splitList(dd, 3);

                CountDownLatch latch=new CountDownLatch(3);

                for (int i = 0; i <3; i++) {

                    final int ins=i;

                    executorService.execute(()->{

                        bookCatalogueDtoMaps.put(ins,get(integerListMap.get(ins), bookCod, document, pattern)) ;

                        latch.countDown();

                    });

                }

                latch.await();

                List<BookCatalogueDto> bookCatalogueDtos=new ArrayList<>(dd.size());

                for (int i = 0; i < 3; i++) {

                    bookCatalogueDtos.addAll(bookCatalogueDtoMaps.get(i));

                }

                return bookCatalogueDtos;

            } catch (Exception e) {

                e.printStackTrace();

            }finally {

                executorService.shutdown();

            }

            return null;

        }

    }

    軟件截圖

    三木猿閱讀(電腦小說漫畫閱讀器) v1.0
      2021漫畫大全
      (100)2021漫畫大全關鍵詞
      2021漫畫大全為用戶帶來當前國內市場上比較火熱的漫畫觀看應用,所有資源全部免費閱覽,為二次元的玩家帶來最大的驚喜,漫畫在中國也已經發展多年,但由于日漫的沖擊,當前國內漫畫市場份額不高,但漫畫的市場價值卻日益顯著,如果你喜歡漫畫,不妨也推薦給身邊的朋友吧。更多>>

      其他版本下載

      熱門評論

      最新評論

      發表評論 查看所有評論(0)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)

      下載幫助下載幫助西西破解版軟件均來自互聯網, 如有侵犯您的版權, 請與我們聯系。

      TOP
      軟件下載
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>