帝国CMS技术互助群:540946827 一帮大神带你装逼带你飞!还有漂亮的妹纸陪你玩哦!

帝国小说连载系统如何快速有效的将章节内容缓存至本地呢?

采集初期,为了速度,我们可以批量采集书籍入库,暂不进行内容入库,但是真正想运营起来,内容缓存至本地是必不可少的一步!

那么如何有效的进行缓存呢?

十几万本书,这个章节可是好几千万上亿章,数据量较为庞大,进程少了,速度慢,进程大了,服务器难以支撑。

这里我测试过多种办法,最开始是利用系统自身来进行处理,即通过插件的形式,批量进行请求,线程设置8以内,速度虽有明显提升,但是速度还是不够,如果设置为20个线程以上,速度能明显感觉提升。不过服务器资源不够,容易跑死。

因为线程,需要服务器去承担,缓存内容的时候还是需要服务器去处理。

所以,咱们换一个思维,把请求交给外部,我们服务器只做缓存处理,这样可以节省一大部分资源。

另外,这个请求可以分发给多个云平台,让他们定时去处理,我们只需要做好数据接口即可。

下面直接上代码:

require ('../class/connect.php');

require ('../class/db_sql.php');

require ('../class/functions.php');

require ('../class/t_functions.php');

$link = db_connect();

$empire = new mysqlquery();

$id=RepPostStr($_GET['id']);

$bookid=RepPostStr($_GET['bookid']);

$page=RepPostStr($_GET['page']);

$page=$page?$page:1;

$line=1000;

$start=($page-1)*$line;

$host=$public_r['add_domain'].'/e/action/getlocal.php';

if($id&&$bookid){

$r=$empire->fetch1("select id,islocal,bookid,newstext,urlfrom from {$dbtbpre}ecms_chapter where bookid='$bookid' and id='$id'");

$ret=GetChapterContents($r);

echo json_encode($ret);

}elseif($bookid){

$sql=$empire->query("select id from {$dbtbpre}ecms_chapter where bookid='{$bookid}' and islocal=0 order by pxid asc");

while($r=$empire->fetch($sql)){

$list.='{'.$host.'?bookid='.$bookid.'&id='.$r['id'].'},';

}

echo $list;

}else{

$sql=$empire->query("select id from {$dbtbpre}ecms_book order by id asc limit $start,$line");

while($r=$empire->fetch($sql)){

$list.='{'.$host.'?bookid='.$r['id'].'},';

}

echo $list;

}

db_close();

$empire = null;

?>

安装方法,将该文件放置于/e/action/目录下,命名为“getlocal.php”即可。

如何使用,请自我尝试。

本文系剖要网原创文章,转载请注明来源!

如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区

打赏一下,我们会为大家提供更多优质资源!

您的打赏将全部用来搜集更多优质资源!

扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

python爬虫入库到帝国cms_帝国小说连载系统合理利用第三方云爬虫缓存章节内容...相关推荐

  1. 杰奇数据库mysql_杰奇小说连载系统 v1.7

    杰奇小说连载系统安装说明: 一.系统需求 基本需求:php+mysql+zend optimizer 推荐配置: OS: windows/linux/freebsd WEB: iis/apache/l ...

  2. python百度aip移动目标监控系统_python利用百度云接口实现车牌识别

    一个小需求---实现车牌识别. 目前有两个想法 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 自己实现车牌识别算法(复杂) ! 一开始准备使 ...

  3. 【爬虫】关于企业信用信息公示系统-加速乐最新反爬虫机制

    ( ̄▽ ̄)~*又得半夜修仙了,作为一个爬虫小白,花了3天时间写好的程序,才跑了一个月目标网站就更新了,是有点悲催,还是要只有一天的时间重构. 升级后网站的层次结构并没有太多变化,表面上是国家企业信用信 ...

  4. python超简单超基础的免费小说爬虫

    python超简单超基础的免费小说爬虫 需要准备的环境 选取网页 思路 代码 总结 需要准备的环境 1.python 3.0及以上皆可 2.requests库,os,re 选取网页 找一个免费的小说网 ...

  5. python爬去百度百科词条_Python爬虫入门学习实践——爬取小说

    本学期开始接触python,python是一种面向对象的.解释型的.通用的.开源的脚本编程语言,我觉得python最大的优点就是简单易用,学习起来比较上手,对代码格式的要求没有那么严格,这种风格使得我 ...

  6. python爬虫之爬取起点中文网小说

    python爬虫之爬取起点中文网小说 hello大家好,这篇文章带大家来制作一个python爬虫爬取阅文集团旗下产品起点中文网的程序,这篇文章的灵感来源于本人制作的一个项目:电脑助手 启帆助手 ⬆是项 ...

  7. python爬虫爬取《斗破苍穹》小说全文

    网络爬虫的入门学习:python爬虫爬取小说全文 python爬虫首先导入基本爬虫库requests:import requests,安装命令pip install requests,使用pychar ...

  8. python爬虫实例之——多线程爬取小说

    之前写过一篇爬取小说的博客,但是单线程爬取速度太慢了,之前爬取一部小说花了700多秒,1秒两章的速度有点让人难以接受. 所以弄了个多线程的爬虫. 这次的思路和之前的不一样,之前是一章一章的爬,每爬一章 ...

  9. Python带进度条的小说爬虫(笔趣网爬小说—简约版)

    Python带进度条的小说爬虫(笔趣网爬小说-简约版) 准备: BeautifulSoup.selenium.PhantomJS 注意PhantomJS安装方式 这里附上安装方式连接: https:/ ...

最新文章

  1. 压缩,解压文件|*.tar.gz/.tar.bz2 文件
  2. python编程题-分享13个python编程笔试题
  3. Linux-权限管理相关操作
  4. LNMP一键安装包在安装完成后的一些安全设置
  5. c16语言延时函数delay,《linux设备驱动开发详解》笔记——10中断与时钟
  6. 一文讲透数据库,以后别说你不懂数据库
  7. libevent 接收TCP连接
  8. 置换矩阵(permutation matrix)
  9. Atiitt 技术部的基本发展战略 attilax总结 艾龙 著 1. 战略的解释,即是 大概纲领与方法 1 2. 技术的基本战略是,培训,吸收与改造,recos,预研,技术储备 1 2.1.
  10. 关于微信拼车小程序开发的需求分析(需求获取)
  11. 佳能Canon imageCLASS MF4712 打印机驱动
  12. 密码在智能汽车数据安全领域的应用研究报告
  13. Hexo + yilia 主题实现文章目录
  14. unity animator动画播放完毕后执行
  15. peU盘ud区和efi区如何共用wim文件
  16. Python小白自问自答
  17. 微信小程序-店内点餐小程序
  18. fatal error LNK1120: 1个无法解析的外部命令
  19. PIL gif 图片加文字 python
  20. PS制作红色拟物化时钟icon图标

热门文章

  1. Python字符串常用操作方法
  2. CGI、PHP-CGI、FastCGI
  3. 顺应大数据时代创新社会治理模式
  4. centos crontab环境变量问题
  5. leetcode - Search in Rotated Sorted Array II
  6. IO中同步、异步与阻塞、非阻塞的区别
  7. NMath应用教程:如何通过代码访问底层数据和应用函数
  8. 让网站和APP更具动感的几点建议
  9. McAfee Agent漏洞可导致黑客以Windows 系统权限运行代码
  10. Confluence 企业服务器正遭攻击