用YGBOOK搭建小说网站

YGBOOK是一个基于ThinkPHP+MYSQL开发的小说采集程序。可以在大部分常见的服务器上运行。
环境要求:PHP5.4以上,有伪静态功能。
主机要求:IIS/APACHE/NGINX均可,虚拟主机/VPS/服务器/云服务器均可。推荐使用linux系统,apache/nginx均可。

安装相关注意事项:
1、记得给目录权限否则无法安装,也无法采集。
好像是public、Application、uploads目录就好。
曾经把所有目录都改为777,就怕使用中出现乱七八糟的不明问题,

2、修改logo图片
查看 后台–>基础设置–>PC站主题 为biquge,则修改/Public/biquge下的文件。
默认模板logo图片位置 Public/biquge/images/all.gif
注意,all.gif不只含有logo图片,还包含其它图标,且背景是透明的。修改时要注意。

3、修改公告和右侧方框内容
这两个位置是JS的,需要修改模板中JS文件信息。找到模板JS,然后进行更改。
默认模板地址 Public/biquge/js
在JS文件夹中找到 header.js 然后在里面找到需要修改的地方。
同理、模板页脚位置信息更改也是在这个里面修改。

4、后台管理地址:xxx.com/admin

使用过程中相关问题:
1、为什么我安装了,但是首页和栏目没有任何小说呢?
答:只有在 后台-更多功能-数据区块 里面“更新区块数据”,才能在首页和栏目里面看到数据。

2、为什么手机版的首页分区不会显示小说?
答:去后台-更多功能-区块数据-右上角-换成默认手机站,然后wap_index_xuanhuan[这种后面是分类拼音的]进去修改,把三个必须全部修改为否,再去清理下缓存就好了。

3、为什么我pc端首页推荐栏不会显示小说?
答:去后台-更多功能-区块数据-pc_index_fengtui-调用数量修改为6,然后去找几部小说点一下,他就会有了。
默认这个区块是设置的指定文章ID调用,默认设置这里只填写一个文章ID,我们可以将其改成6个指定文章ID,英文逗号分隔。
也可将其删掉,这样就会调用全站栏目了,这个位置是需要调用6本小说的,在下面调用数量位置填写6即可。

4、小说采集一次最多只能100吗?
答:破解最大限制:http://abc.cn/index.php?s=/Admin/Index/pick/action/runpick/nownum/1/maxnum/99999999999999.html
将 http://abc.cn 替换为你的网址后复制到浏览器地址栏运行即可
其中 99999999999999 为采集次数,可修改

5、这个程序需要的硬盘空间大吗?
答:这个程序不需要多大空间,除非你在后台开了缓存。

相关下载
源码下载:https://pan.lanzou.com/i0zlmjc
规则下载:https://pan.lanzou.com/b244455/

参考文献
http://www.hddsd.com/post/21.html
https://www.52pojie.cn/forum.php?mod=viewthread&tid=730530&page=1

注意注意注意
能读到这里也算难得,说说自己的担心:总感觉这类代码中会暗藏木马,网上也有相关披露。如果不是必要,尽量不要在自己的服务器上使用。

=============== 华丽的分界线 ===============

2021年10月8日补充

★ 采集规则设置:
后台–>采集设置–>导入–>复制代码,保存–>批量采集新书
如果采集不到文章,先看看原网站是否可以打开。
不能采集就换另一个采集规则,别期望自己能把规则“编辑”正确,太麻烦。
采集规则可在网上找。找到采集规则,导入,点击“测试”,就能看到采集网站的地址了,也能看到是否能够采集了。
然后点击“测试”按钮后的“采集”按钮,如果提示成功,则可能可以正常采集。
最后,点击“提交保存”按钮后面的“批量采集新书”按钮,(不必太多,10次就好),正式进行采集。
采集结束后到“文章列表”里面看看文章总数是否增加,增加即可用,不变即不能用。

★ ygbook采集方法步骤
1、规则导入:登陆后台-采集设置-导入规则,打开采集规则txt文件,复制里面的内容粘贴到后台规则导入栏里,采集点名称随便写。
2、开始采集:后台-采集设置-批量采集新书按钮,点开或者点击每项采集规则后面的采集按钮采集也行,不同的是批量采集新书按钮可以设置采集次数而规则后面的采集按钮是点击一次采集一次。
3、更新小说信息和章节目录数:后台-采集设置-批量处理文章信息按钮点击挂着就行。
4、更新栏目数据区块:后台-更多功能-数据区块-更新区块数据按钮,点击更新区块数据,注:右上角有分PC电脑端和wap手机端。
5、清空缓存:后台-缓存管理-能清理的都清理掉就行。
注意:如果前台某个分类下不显示小说,其中一个可能就是采集的小说数量不够,去重复执行第2-5步。

★ 我对采集的理解
整个采集过程分成好几步的。
第一步:文章采集。即后台-采集设置-批量采集新书按钮。这一步只采集了书名及相关链接入库,在“首页”及“分类”里还看不到这些书名,但是可以查找的到。
第二步:更新栏目数据区块。即 后台-更多功能-数据区块-更新区块数据按钮。这一步更新了“首页”及“分类”里的数据,以后就可以在“首页”及“分类”里看到书名了。
第三步:更新小说信息和章节目录数。这一步也只是采集了书籍简介及章节数据入库。到此,采集内容全部结束。真正的文章内容只在显示内容页面时才去原网站抓取的。

★ ygbook是可以自己原创发布小说的,只是不支持收费观看,有能力的可以二开下。

★ 修改分类(修改较麻烦,能不改就不改吧)
在“更多功能”–>“栏目设置”里,设置“英文名”与“中文类别名”的对应关系,注意,这里的对应关系直接影响到后面采集分类,要慎重。
所以,【如果要调整整站的类别名称的话,一定要第一步在这里设置对应关系。】
设置里面有个排序,首页菜单就是根据这个值来排序的。
但是,缺省模板下半部分的分类展示不调用这些新的英文名,好像代码是写死的,调用老的类别代码,无法通过参数修改,所以面板相应栏目是空的。应该只能通过模板代码来修改。
修改模板代码:
模板biquge:
修改文件 Application\Home\View\biquge\Index\index.html
将其中的 getcate(‘xuanhuan’)、getcate(‘xiuzhen’)等改成所需要的类别即可。
模板wap:
修改文件 Application\Home\View\wap\Index\index.html
将其中的 getcate(‘xuanhuan’)、getcate(‘xiuzhen’)等改成所需要的类别即可。

模板修改后,还是不能显示?
修改后台的 “更多功能”–>数据区块–>“默认站点”或者“默认手机站”–>pc_index_xiuzhen(或wap_index_xiuzhen)–>“编辑”
因为上面类别修改的原因,“数据区块”里面的“调用栏目”的内容可能不对,重新选择相对应的新建的分类。
也可以直接生成新的pc_index_xxx(或wap_index_xxx),但是模板代码里固定写死了调用pc_index_xiuzhen等,所以要到模板文件里自行修改为你新建的pc_index_xxx(如文件Application\Home\View\biquge\Index\index.html)。

★ 问题:(pc端调用wap模板)wap首页几个模块都不显示内容。(这个问题也比较特殊,仅限在pc端调用wap模板,一般碰不到。)
原因:“默认站点”(PC端)和“默认手机站”的模板调用的“数据区块”数据是不通用的。
即在“默认站点”(PC端)使用手机端模板如wap,只能使用“默认站点”下的“数据区块”,如pc_index_xuanhuan等,无法使用“默认手机站”下的“数据区块”如wap_index_xuanhuan。
解决办法:
在“默认站点”里生成新的“数据区块”。注意,不是在“默认手机站”里生成。
1、在“默认站点”里生成同名的“数据区块”:wap_index_xuanhuan、wap_index_xiuzhen、wap_index_kehuan等。注意,与“默认手机站”里的同名。OK。
2、生成新的“数据区块”,即生成不同名的“数据区块”,然后修改模板。
在后台“更多功能”–>“数据区块”里,在选择“默认站点”的情况下,在最下面一条记录填写pc4wap_index_qinggan,然后“提交保存”。
然后点击这条记录后面生成的“编辑”按钮,在“调用栏目”里选择前面生成的“情感”类别,调用数量随便填个5,“提交保存”。
同理生成其它栏目的“数据区块”。
修改模板文件:
找到wap模板的对应文件,这里是Application\Home\View\wap\Index\index.html。
打开文件,找到 dataarea_list.wap_index_xuanhuan
修改为 dataarea_list.pc4wap_index_qinggan
注意,这一句的前后文里有3个getcate(‘xuanhuan’),将它们改为getcate(‘qinggan’)。到此结束一栏的修改。
同理把其它4栏的数据也修改了。保存,上传到服务器。
over。

★ 234bug
这个名字是我取的,便于以后描述。仅限 YGBOOK 6.14。
bug描述:
在分页进行书籍列表显示时,如果页数等于2页或者3页或者4页,后台代码将进入死循环,出问题,显示页面卡死。分页页数只有1页或者5页及以上,没问题。因为是2、3、4页出问题,所以叫234bug。
按“类别”进行分类显示时,每页显示书籍数量为30条,即如果该类书籍数量是31–120本,则页面显示卡死。
显示“所有书籍”列表时,每页显示书籍数量为60条,即如果该类书籍数量是61–240本,则页面显示卡死。
错误提示:
页面显示卡死一段时间后,报错:
Maximum execution time of 200 seconds exceeded
错误位置:Application/Common/Common/function.php  LINE: 336
起因:
自动生成分页的php代码有问题。查看上面报错对应的文件,行336代码在一个循环里面,if ($i < $totalpage) {……},好像是定义页码的循环。即书籍太少达不到一定数量,计算分页数的PHP程序产生了死循环。
解决办法:
1、修改代码Application/Common/Common/function.php  LINE: 336。这个太麻烦,算了。
2、把这个分类的书采集够120本,再打开前台就不会卡顿了。就是不停的采集采集采集。
附:查看书籍数量:
后台“文章列表”即可看所有文章数量。还可分类进行查看数量。

★ 问题:点击顶部菜单“分类”或“所有书籍”时(http://wap.xxx.com/xiaoshuodaquan),整个网站就没反应了,后台都没反应了。
234bug的体现。采集的文章数据量太少了。

★ 【大问题】手机版本无法浏览
输入 m.xxxx.com,出现404错误。
原因:免费空间提供商 freewha.com 的空间支持apache伪静态。但是,子域名m.xxx.com被空间商默认为另一个账号(或另一个空间),压根就没有解析到本空间,所有跟子域名相关的伪静态操作都没起作用,无法通过伪静态实现子域名。
没有解决办法,只能换空间提供商。
如果不想换空间商,一个变通的办法是,另外申请一个空间 wap.xxx.com(子域名至少3个字符),重新再搭建一个YGBOOK,缺省模板选择WAP,关闭“自动跳转到手机页”。然后将PC站的手机页跳转到这个网站。

1 comment

Leave a comment

Your email address will not be published. Required fields are marked *