杰奇2.4版本,完美兼容关关采集器教程

本文阅读 11 分钟
广告

本文章结束的测试,密码正式解除。通过网上流传的开源版本,我看了一下代码,觉得修改的思路还是比较明确的,主要集中在数据库字段的几个值修改,以及程序本身的调用修改。其实最开始是和朋友在修改关关采集器,最后发现可行性很低,因为关关采集器的底层太乱了,乱到我做C#的后端同事折腾了好几天都进展缓慢。

本教程仅供学习研究,用于讨论,请勿用于非法用途,而且存在可能诸多问题,需要更进一步修复

首先需要明确的一点就是杰奇2.4和之前版本的差别,我检查的很久,发现就一个主要的地方,数据库小说和章节表的size字段变成了words,那么原理就很清晰了,将words改回size,再重新定义标签调用即可。

主要涉及两个部分,一个是杰奇的数据调用区块,一个是部分显示界面的功能文件。另外这篇文章,如果在各位转载的时候可以注明规则之树的链接,作者的名称,就是对我最大的支持(当然我并不建议各位转载)。
当然我也是根据网上的杰奇2.4开源版进行研究,官方版肯定不行的,为了小说网站更稳定的运行,仍然建议选择官方版,并且我仍然不建议拿2.4这样功能全面的程序,只为了做采集。另外,我只是考虑了采集的要求,如果是原创或者是通过post提交的可能会有问题,代码里面我尽量避免了,但难保意外。
12-1F31F9493000-30-23-.jpg

友情提示啊,我写这篇文章主要是学习研究这个程序本身,毕竟这个杰奇2.4解密版实际测试,也是有错误的,用在正式运营不太适合,况且还是非官方版,所以本身就是侵犯了杰奇官网版权的。其次就是现在国家也在打击版权,做采集内容本身也是违法的行为,所以这篇文章只是我的学习php的尝试过程,毕竟我也特别喜欢杰奇这个程序,从15年就喜欢了,规则之树里面也有大量的教程。所以对浏览者做的违法行为导致的后果,我不负责任。

教程开始

第一步:数据库里面的修改

找到杰奇jieqi_article_article和jieqi_article_chapter表,显示结构,添加一个size字段,这一步一定要做,否则后面无法开展,采集器同样也没卵用
Snap.jpg
因为老版的杰奇程序都是通过size来显示字数,所以完成这样的修改后,采集器就可以正常采集了。
Snap1.jpg
但是还有一个问题。那就是所有的小说字数都无法正常显示了,因为采集器并没有给现在的字数字段words赋值。同时,对已采集文章已经比对的时候,关关采集器会提示索引超出数据界限,所以到这一步还有两个问题,首先是字数会显示为空,其次就是文章无法比对。
Snap3.jpg

第二步:修改目录和阅读模板的调用,让关关采集器无错误采集

1.找到/modules/article/class/package.php,找到里面的字符index.html全部修改为index_c.html,找到里面的字符style.html,全部修改为style_c.html。然后进入/modules/article/templates,将里面的index.html和style.html,按照上述的名称进行修改,这样package.php可以重新调用到模板文件。
Snap2.jpg

2.下载一份杰奇1.8的官方版,我之前发过的杰奇1.8最新版,使用体验付下载,进入它的/modules/article/templates文件,拿出index.html和style.html丢进杰奇2.4里面。这一步想必各位都意识到了,两个文件是用来给关关采集器识别的,因为杰奇2.4这两个文件的写法和1.8不相同,导致安装1.8套路来进行识别的关关采集器变得懵逼,所以报出索引超出数据界限这种错误。

3.现在测试采集一下,我尝试不断的停止,开始,关关采集器都会对之前未采集完成的内容进行采集,而不会出现错误了,到这里采集的根本问题就解决了(实际长时间采集测试的时候,还是会出现一些小错误,但是无伤大雅,数据都是正常的)。
Snap4.jpg

4.但是注意,如果你仍然出现了神奇的人品问题,依然提示“索引超出数据界限”,那么备选方案也是有的。那就是在杰奇2.4的目录下新建一个文件夹,然后把杰奇1.8的整个代码都丢进入,将关关采集器的网站目录改为这个1.8所在的目录,也就是2.4底下那个新建出来的文件夹。然后再到杰奇的后台,将头像的地址啊,小说opf,txt之类的地址修改为绝对路径,也就是1.8所在的文件夹,记得这个过程不需要创建任何新网站,就到单纯让关关采集器识别1.8的程序来出现正确的判断。按照以上的说明弄完之后,采集就真的正常了,如果还不正常就是你没有理解我的文章,或者就是人品极差。

第三步:修改杰奇的数据调用文件,让size这个字段可以在前台调用(对我而言最难的地方)

1.修改/modules/article/class/article.php,找到words字段的下面,加上如下代码。

$this->initVar('size', JIEQI_TYPE_INT, 0, '采集字数', false, 11);

然后修改/modules/article/class/chapter.php,找到words字段的下面,加上如下代码。

$this->initVar('size', JIEQI_TYPE_INT, 0, '采集字节数', false, 11);

这一步的含义就是和第一大步里面创建的数据库字段匹配,以上代码添加完成后,杰奇就拥有了查询size这个字段的能力。

2./modules/article/class/package.php,找到分别是810,811,1130,1131,1164,1689,1919行里面单独的words改为size,记住是单独的数组中的words字段,别把原本那些模板标签里面的给改了。然后,在网站的后台清除所有的缓存文件,就可以看到字数在章节被正常调用了。不过在小说的信息页面,仍然是不可以的,看来得写个新的方法,而且杰奇的官方版,字数是读取的opf文件,但是在这里,opf文件读取是失效的。
Snap5.jpg

3.修改/modules/article/articleinfo.php文件,在61行下添加如下代码。

@mysql_connect(constant("JIEQI_DB_HOST"), constant("JIEQI_DB_USER"),constant("JIEQI_DB_PASS"));  
@mysql_query("SET NAMES 'utf-8'");
@mysql_select_db(constant("JIEQI_DB_NAME"));
$query = JieqiQueryHandler::getInstance("JieqiQueryHandler");
$sid = $_REQUEST['id'];
$u_q=@mysql_query("SELECT sum(size) FROM jieqi_article_chapter where articleid = {$sid}");
$articlesize = mysql_fetch_array($u_q);
$jieqiTpl->assign('articlesize', $articlesize[0]);

或者也可以如下:

@mysql_connect(constant("JIEQI_DB_HOST"), constant("JIEQI_DB_USER"),constant("JIEQI_DB_PASS"));  
@mysql_query("SET NAMES 'utf-8'");
@mysql_select_db(constant("JIEQI_DB_NAME"));
$query = JieqiQueryHandler::getInstance("JieqiQueryHandler");
$sid = $_REQUEST['id'];
$u_q=@mysql_query("SELECT size FROM jieqi_article_article where articleid = {$sid}");
$articlesize = mysql_fetch_array($u_q);
$jieqiTpl->assign('articlesize', $articlesize[0]);

反正都差不多,一个通过文章的id去累加查询章节表size的值,最后将新的标签输出到模板,这样的好处就是完全统计,不会受到文章表size值错误导致的影响,但是会耗费一点性能。第二种就很显然了,直接根据小说id读取文章表size这个字段,简单快捷。所以最终页面上的字数调用标签如下,自己去模板文件修改就好。

{?$articlesize?}

5.还有一个区块的数据调用修改,是在/modules/article/blocks,包括block_articlelist.php和block_aarticles.php,一般常用的就这两个,再加上/modules/article里面的articlefilter.php和articlelist.php,用notepad++打开,使用替换,全词匹配,将所有words替换为size就好了,这里因为太简单我就懒得写太多,唯一注意的就是要全词匹配而已。如果网站有调用字数排行榜的话,就将参数改为如下(同样还是words改size):

size,10,0,0,0,0

调用的标签为:

{?$articlerows[i].size?}

Snap6.jpg
4.完成以上步骤后,整个修改就结束了,杰奇整个程序都会支持新增的size标签(可能有部分小页面不是),包括首页的那些区块。大概可以自行检查一下,如果自己不会改,或者做原创和采集配合的测试,那么也可以来交流群里问我之类的。但是我仍然呼吁大家支持正版杰奇程序,和正版的小说阅读。
Snap7.jpg

相关文件下载地址(自己研究吧),至于要2.4的学习测试用源码,可以自行百度或者加博客交流群。

最后,这篇教程写得我特别累,希望转载的时候可以注明来源,包括作者,链接等,这就算是给我最大的支持,和研究下去的动力了。
【规则之树版权所有】

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/1221/
php设置cookies立即生效,实现网页多语言切换
« 上一篇 05-22
杰奇2.4全站伪静态参考写法,附多环境配置
下一篇 » 05-26
广告

发表评论

V注册会员 L评论等级
R89 条回复
  1. 郑它一个亿VLv.4 说道:
    2022-12-15     Android /    Chrome

    π_π

  2. qiuyeuLv.1 说道:
    2022-04-05     Win 10 /    Chrome

    来学习学习

  3. 5252Lv.1 说道:
    2021-08-10     MacOS /    Chrome

    6666666666666

  4. lihengVLv.1 说道:
    2021-07-11     Win 10 /    Chrome

  5. 1325901607VLv.1 说道:
    2021-07-06     Linux /    Chrome

  6. 大狗子VLv.1 说道:
    2021-06-06     Win 10 /    Chrome

    废了废了,那种支持到3.0得采集器也报数组错误了。唉。

  7. 但是我想Lv.1 说道:
    2021-04-16     MacOS /    Chrome

    很好的文章, 谢谢分享

  8. 独乐哥Lv.1 说道:
    2021-04-10     Android /    Chrome

    谢谢分享

  9. 默默Lv.1 说道:
    2020-12-24     Win 10 /    Chrome

    谢谢分享

  10. lomeLv.1 说道:
    2020-12-22     Win 10 /    Chrome

    谢谢分享

  11. 感谢感谢感谢感谢感谢感谢Lv.1 说道:
    2020-12-07     Win 10 /    Chrome

    感谢感谢

  12. slygoLv.1 说道:
    2020-12-06     iPhone /    Google Chrome

    感谢感谢

  13. xiaoyaooLv.1 说道:
    2020-11-29     Android /    Chrome

    好东西,像博主这么钻研的很少了啊

  14. qcqceLv.1 说道:
    2020-10-02     Win 7 /    QQ浏览器

    感谢····前来学习

  15. 唯我Lv.1 说道:
    2020-09-13     Android /    QQ浏览器

    谢谢分享,转载了哟

没有更多评论了

作者信息

热门文章

标签TAG

热评文章