资讯专栏INFORMATION COLUMN

小说搜索站快速搭建:2.内容页解析

vincent_xyb / 1646人阅读

摘要:三方框架解析要素翻章上一章翻章下一章目录内容表设计内容解析代码最终结果难点技术没有什么难点,难在日常的维护上。

三方框架

JSOUP

okhttp

解析要素

翻章:上一章

翻章:下一章

目录

内容

表设计

    /**
     * 内容
     */
    private String content;
    @Field("content_title")
    private String contentTitle;
    @Field("chapter_url")
    private String chapterUrl;
    @Field("next_chapter_url")
    private String nextChapterUrl;
    @Field("last_chapter_url")
    private String lastChapterUrl;

解析代码

public BookChapter content(String url) {
        BookChapter bookChapter = new BookChapter();

        BookSite bookSite = getSite(url);
        try {
            Document document = download(url);

            Element titleElement = document.selectFirst(bookSite.getContentTitle());
            if (titleElement != null) {
                bookChapter.setName(titleElement.text());
            }

            Element chapterElement = document.selectFirst(bookSite.getChapterUrl());
            if (chapterElement != null) {
                bookChapter.setChapterUrl(chapterElement.absUrl("href"));
            }

            Element nextElement = document.selectFirst(bookSite.getNextChapterUrl());
            if (nextElement != null) {
                bookChapter.setNextChapterUrl(nextElement.absUrl("href"));
            }

            Element lastElement = document.selectFirst(bookSite.getLastChapterUrl());
            if (lastElement != null) {
                bookChapter.setLastChapterUrl(lastElement.absUrl("href"));
            }

            Element contentElement = document.selectFirst(bookSite.getContent());

            if (contentElement != null) {
                contentElement.select("a").remove();
                contentElement.select("script").remove();
                contentElement.select("style").remove();

                bookChapter.setContent(contentElement.html());
            }

        } catch (IOException e) {
            log.error(e.getMessage(), e);
        }

        return bookChapter;
    }

最终结果

难点

技术没有什么难点,难在日常的维护上。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109830.html

相关文章

  • 小说搜索快速搭建2.内容解析

    摘要:三方框架解析要素翻章上一章翻章下一章目录内容表设计内容解析代码最终结果难点技术没有什么难点,难在日常的维护上。 三方框架 JSOUP okhttp 解析要素 翻章:上一章 翻章:下一章 目录 内容 showImg(https://segmentfault.com/img/bVbs8mV?w=2168&h=1646); 表设计 /** * 内容 */ ...

    wean 评论0 收藏0
  • 小说搜索快速搭建2.内容解析

    摘要:三方框架解析要素翻章上一章翻章下一章目录内容表设计内容解析代码最终结果难点技术没有什么难点,难在日常的维护上。 三方框架 JSOUP okhttp 解析要素 翻章:上一章 翻章:下一章 目录 内容 showImg(https://segmentfault.com/img/bVbs8mV?w=2168&h=1646); 表设计 /** * 内容 */ ...

    cjie 评论0 收藏0
  • 小说搜索快速搭建:1.架构图

    摘要:技术栈模板框架数据库缓存搜索聚合源站搜索框架图仅展示交流使用免费小说阅读网 技术栈 模板 thymeleaf 框架 Spring Boot 2 数据库 Mongodb 缓存 Redis 搜索 聚合源站搜索 框架图 showImg(https://segmentfault.com/img/bVbs6ux); 仅展示交流使用:免费小说阅读网

    since1986 评论0 收藏0
  • 小说搜索快速搭建:1.架构图

    摘要:技术栈模板框架数据库缓存搜索聚合源站搜索框架图仅展示交流使用免费小说阅读网 技术栈 模板 thymeleaf 框架 Spring Boot 2 数据库 Mongodb 缓存 Redis 搜索 聚合源站搜索 框架图 showImg(https://segmentfault.com/img/bVbs6ux); 仅展示交流使用:免费小说阅读网

    smartlion 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<