我的漫画浏览器本地没有数据库,漫画数据是实时从漫画网站上爬出来的,最开始设计的时候就考虑了支持多个漫画数据网站的数据源,本身就支持多个漫画的解析器,要实现某个网站的漫画数据支持,只需要实现相关的接口函数即可。

最开始我的设计思路是实现漫画的聚合:所有的Parser同时爬漫画资源,然后统一合并到漫画浏览器中,若同一个漫画存在于多个漫画源中,自动选取最快的漫画源,甚至实现负载分担功能,同时从多个漫画源下载。这样Parser实现得越多,漫画资源就越丰富,浏览速度也就越快。

后来实现的时候发现存在如下问题:

  1. 不同的网站中相同的漫画叫做不同的名字,没有远程服务器支持的话,很难实现本地智能合并。
  2. 不容易判断哪个漫画源具有最佳的速度。
  3. 不同的网站中相同的漫画可能有不同的分页,无法简单实现负载分担。

这几个问题如果有远程服务器支持,再加上编辑人员手动勘误的话,还是能解决的(事实上,如果有远程服务器支持,解析程序和聚合功能就实现在服务器端了,本地直接获取聚合后的结果,更加简单,效率也更高)。

但是如果要在本地自动实现,还是比较困难的。便退而求其次,改成支持多漫画源切换,每实现一个Parser后就多了一个漫画源,可以在选项菜单中切换,重启后生效(这个主要是为了实现简单,不重启生效实现也不难)。

一开始我就实现了两个漫画网站的数据源的支持,其实以前发布的版本中就是支持漫画数据源切换的,只不过有一个漫画源的速度不快,发布的时候被我屏蔽了。今天晚上闲来无事的时候又写了一个,就干脆放开漫画源的切换功能了。这里之所以用“漫画源1”这样不易识别的名字而不是直接用漫画源的网站名,主要是怕解析程序被漫画源网站给屏蔽了,应该不影响使用。

转载于:https://www.cnblogs.com/TianFang/archive/2012/12/21/2828664.html

把漫画浏览器的漫画多数据源切换给实现了一下相关推荐

  1. 把漫画浏览器的离线下载的功能给实现了一下

    今天把漫画浏览器的离线下载的功能给实现了一下,由于不想做下载管理器,因此实现的比较简单. 使用方式如下: 在漫画详细信息页面调出菜单,点击下载按钮后.漫画列表就变得可以选择了,选中所需要的下在的漫画, ...

  2. 重温blame!——用html+js写个漫画浏览器

    世界那么大,周遭却很拥挤,也许只有思想的驰骋才是最有张力的延伸. 心血来潮的想重温blame! 1.下载<blame!> 先写了个python脚本从某个漫画站下载到了10卷的合集: 2.没 ...

  3. 简易漫画网站搭建-漫画喵Server版

    小喵的唠叨话:寒假的时候写了一个漫画爬虫,爬取了好几个漫画,不过一直没有找到合适的漫画阅读的工具.因此最近就试着自己写一个漫画的网站,放在公网上或者局域网里,这样就能随时随地用手机.Pad看漫画了. ...

  4. 基于springboot实现漫画之家漫画阅读购买管理系统【源码+论文】分享

    基于springboot实现"漫画之家"系统演示 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据 ...

  5. Spring Boot + Mybatis 配合 AOP 和注解实现动态数据源切换配置

    Spring Boot + Mybatis 配合 AOP 和注解实现动态数据源切换配置 前言: 1. 数据库准备: 2. 环境准备: 3.代码部分 4. 测试: 5.等等 6.配合注解实现 7 .测试 ...

  6. Spring(AbstractRoutingDataSource)实现动态数据源切换

    参考:http://linhongyu.blog.51cto.com/6373370/1615895 一.前言 近期一项目A需实现数据同步到另一项目B数据库中,在不改变B项目的情况下,只好选择项目A中 ...

  7. mysql多数据源切换_Springboot项目实现Mysql多数据源切换的完整实例

    一.分析AbstractRoutingDataSource抽象类源码 关注import org.springframework.jdbc.datasource.lookup.AbstractRouti ...

  8. SpringBoot+Mybatis 实现动态数据源切换方案

    背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据.考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案.在此分享给大家. 实现方案 数据库配置文 ...

  9. Spring(AbstractRoutingDataSource)实现动态数据源切换--转载

    原始出处:http://linhongyu.blog.51cto.com/6373370/1615895 一.前言 近期一项目A需实现数据同步到另一项目B数据库中,在不改变B项目的情况下,只好选择项目 ...

最新文章

  1. 服务器系统linux怎么安装教程,CentOS 8.0.1905 linux服务器系统安装与配置图解教程...
  2. Eclipse Spring Boot实现热部署
  3. Delete Edges 完全图-找规律
  4. 作为IT面试官,我如何考核计算机专业毕业生?作为培训班老师,我又如何提升他们?...
  5. options请求_前端数据请求的终极方案
  6. Ubuntu镜像下载地址
  7. 87.http upstream模块提供的变量
  8. 开源工具软件XMusicDownloader——音乐下载神器
  9. mysql event demo_MySQL定时任务event
  10. 破解硬盘还原卡与还原精灵
  11. linux opengl安装教程,Linux下OpenGL的安装与cmake编译OpenGL程序
  12. 电子秤PCBA方案的功能及设计
  13. 中山大学本科偏微分方程试题
  14. 计算机桌面为什么没有语言栏了,电脑还原桌面的时候语言栏里怎么什么都没有了,只有到打字的时候才显示 ,这是为什么啊...
  15. java随机生成迷宫游戏地图_java随机生成迷宫(图的深度优先遍历)
  16. 搞清楚php-FPM到底是什么?
  17. [技术分享 – FCS 篇] 驭龙五式5之神龙摆尾:如果没有 WSUS…
  18. Nginx配置http升级https
  19. python 余弦距离_距离最小余弦
  20. The repository ‘https://ppa.launchpadcontent.net/ubuntugis/ppa/ubuntu jammy Release‘ does not have a

热门文章

  1. 2021年中国绿茶产销现状及进出口贸易分析:产量达184.94万吨,同比增长0.36%[图]
  2. 操作系统期末试卷解析(1)
  3. android制作圆角button
  4. Graph (discrete mathematics)
  5. 给图片加颜色边框怎么弄,3种好用方法
  6. jetson nano 的tf卡 备份与恢复
  7. android支付界面设计,Android支付宝支付设计开发
  8. ubuntu 无线网卡启动命令
  9. house of apple1
  10. 关于pycharm点击关闭后,窗口无法关闭的问题