人才社区

 找回密码
 免费入驻

QQ登录

只需一步,快速开始

搜索
查看: 269|回复: 0

[站长教程] 火车头采集器规则通过数据库发布模块直接往Discuz X3.4论坛批量发布dz帖子

[复制链接]

51

主题

53

帖子

390

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
390
发表于 2019-5-23 15:27:14 | 显示全部楼层 |阅读模式
做完火车头采集规则后要批量发布DZ帖子到discuz论坛,使用web发布模块的话需要配置很多地方才可以实现,然而使用底层数据库里面的一条记录就能搞定,本人是搞数据库的怎么能被它难倒。当然看不懂的可以在下面留言,或者是加我微:6277979

下面说一下大致的步骤:
1、数据采集,这块不赘述了,就是数据来源,自己采集你需要发布的帖子内容,我用的是火车采集器,数据采集后直接存储到oracle数据库中去。

数据库中存储的记录:


2、通过数据库操作,将采集的内容发布到论坛去。这是本文的关键所在。
首先,discuz论坛存储帖子的数据表有两个,pre_forum_post和pre_forum_thread表,其中pre_forum_thread表中存储帖子的信息(不包括帖子内容),pre_forum_post存储帖子的内容。两张表的具体格式和定义大家自行百度就可以查到。
然后,通过oracle的sql命令生成discuz用的mysql数据库的sql脚本。(有点拗口,实际就是把采集的数据生成脚本,这个脚本可以直接在discuz后台数据库里面直接运行,运行后就可以把采集数据写入到上面的两个数据表里面去了)
具体脚本如下图:
最好,将上面生成的sql脚本导入到discuz的数据库里面去。
3、善后工作。
这一步也很重要,因为pre_forum_thread里面的id是自增的,不需要维护,但是pre_forum_post表里面的id不是自增的,如果不进行善后,那么虽然将采集的数据导入到了论坛里面,当正常发帖的时候就会报错,说id重复了。
解决办法,修改pre_forum_post_tableid表id的自增值,是这个值和pre_forum_post中的值一样或者比他大就可以了。
至此,大功告成,采集的数据正常导入到了discuz数据库中,而且也不影响后面的正常发帖了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?免费入驻

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费入驻

本版积分规则

快速回复 返回顶部 返回列表