• CMS-织梦[dede]-通用免登发布插件


    使用火车头,简数采集器,八爪鱼等文章采集工具,采集的数据要怎么发布到自己的织梦CMS网站呢?可用对应的发布插件接口来接收数据,然后处理接收的数据写入网站。

    织梦(DedeCMS)通用免登陆文章发布插件(PHP版)支持对接大部分采集工具(火车头,简数等都可以),只要填写对应参数,就可以轻松批量发布到自己的织梦Dede cms网站。
    网络上此类功能比较常见, 亲测后发现存在各种问题, 比如不支持扩展字段,确实建表语句等各种原因,导致插件使用不变。

    1. 织梦通用免登陆发布插件功能说明

    I、免登陆使用方便简单;

    II、安全:发布时支持密码验证功能,大大增加安全性;

    III、可指定发布分类栏目;

    IV、免重复发布机制:相同标题文章不重复发布;

    V、插件基于织梦dede5.7-SP2版本开发,暂时只支持文章已经基于文章的扩展模型模型;

    VI、插件是开源的,可以自行增加对应新功能;

    2. 织梦通用免登陆发布接口使用说明

    2-1 下载插件

    链接:https://pan.baidu.com/s/13zlaKOkCbvXFMqYRHAHing?pwd=omdy
    提取码:omdy

    2-2 安装插件

    I、下载插件后,选择网站对应的字符编码(UTF_8或GBK)安装包,解压出对应的xml文件。
    在这里插入图片描述

    II、然后进入织梦后台,左侧菜单点击 [模块] ,然后在模块管理下点击 [上传新模块] 选项,选择对应字符编码的xml文件,点击 [确定] 按钮,然后跟着安装指引一步步安装即可。

    在这里插入图片描述

    关键表结构初始化语句:
    注意: 此表若安装模块后未成功创建,可以手动操作。其中默认表前缀为“dede_”,基于安装环境变更。 若表不存在, 则无法保存免登密码

    -- ----------------------------
    DROP TABLE IF EXISTS `dede_articlepost_config`;
    CREATE TABLE `dede_articlepost_config`  (
      `id` int NOT NULL AUTO_INCREMENT,
      `meta_key` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
      `meta_value` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Records of dede_articlepost_config
    -- ----------------------------
    INSERT INTO `dede_articlepost_config` (`id`, `meta_key`, `meta_value`) VALUES ('1', 'password', '123456');
    INSERT INTO `dede_articlepost_config` (`id`, `meta_key`, `meta_value`) VALUES ('2', 'titleUnique', '1');
    SET FOREIGN_KEY_CHECKS = 1;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    III、安装成功后,在左侧菜单 [模块] 下可以看到 [免登陆发布配置] 选项,进入修改默认密码,重复发布机制也是在此处设置的:相同标题文章不重复插入,勾上即生效;
    [图片]

    IV、特别要注意的:如果你网站的PHP版本是7及以上的,请在安装插件前修改一处代码,否则会安装失败无法使用的:

        在你网站找到该文件/include/dedeatt.class.php,然后修改此处代码,约在23行左右
    
    • 1
    //约在23行左右
    var $Items = ""; 
    //修改成以下代码
    var $Items = array();
    
    • 1
    • 2
    • 3
    • 4

    二开模块插件,在/data/module/标识号.xml文件,把这个文件发送给别人安装即可。

    3 对接火车头等采集工具

    I、在采集工具创建对接的模块或目标,填写发布的地址:

    http://www.域名.com/articlePost/index.php?__post_flag=post
    
    • 1

    II、填写要发布的参数名称及映射哪些内容,这里列出常用的几个参数:

     __post_password[标签:免登密码]//发布密码,对应先在接口文件里设置的密码。[建议必填]
     title[标签:标题]//标题。[必填]
     body[标签:内容]//内容。[必填]
     typeid[分类ID]//文章栏目(  。[必填]
     channel[标签:频道id]//频道模型,暂时只支持文章模型,一般是填写数字1。[必填]
     writer[标签:发布人]//DEDE发布用户登录名。[必填]
     pubdate[标签:发布时间]//发布时间。[可选]
     username[标签:管理员]//系统登录用户
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    举例
    [图片]
    火车头插件导入成功后:
    [图片]

    [图片]

    检查发布结果
    [图片]

    最后就可以将采集的数据,批量自动发布到网站了。

    3 爬虫【古诗文网】示例[可选]

     __post_password[标签:免登密码]
     title[标签:标题]
     body[标签:内容]
     typeid[分类ID]
     channel[标签:频道id]
     writer[标签:发布人]
     pubdate[标签:发布时间]
     username[标签:管理员]
     yiwen[标签:译文]
     zhushi[标签:注释]
     jianshang[标签:鉴赏]
     year[标签:朝代]
     author[标签:作者]
     shangxi[标签:赏析]
     chuangzuobeijing[标签:创作背景]
     source_url[标签:来源url]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    测试火车头入库模型

    使用基本文章模型检测入库结果

    $userinfo=admin{"rs":0,"code":1405,"data":"save to addtable error","msg":"%E6%8A%8A%E6%95%B0%E6%8D%AE%E4%BF%9D%E5%AD%98%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E9%99%84%E5%8A%A0%E8%A1%A8%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%81"}
    
    • 1
    1. 新建内容模型
      在这里插入图片描述

    关键信息都要填写
    [图片]

    字段管理也要填写
    [图片]

    模型附加表, 建表语句

    CREATE TABLE `dede_addonarticle_poem`  (
      `aid` mediumint UNSIGNED NOT NULL DEFAULT 0,
      `typeid` smallint UNSIGNED NOT NULL DEFAULT 0,
      `body` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
      `redirecturl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
      `templet` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
      `userip` char(15) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
      `yiwen` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '译文',
      `zhushi` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '注释',
      `jianshang` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '鉴赏',
      `chaodai` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '朝代',
      `author` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '作者',
      `shangxi` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '赏析',
      `chuangzuobeijing` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '创作背景',
      `source_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源url',
      PRIMARY KEY (`aid`) USING BTREE,
      INDEX `typeid`(`typeid`) USING BTREE
    ) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    SET FOREIGN_KEY_CHECKS = 1;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    Win10只读文件夹怎么删除
    【并发编程】Lock接口
    边玩边学!交互式可视化图解!快收藏这18个机器学习和数据科学网站!⛵
    (针对 G1 )JVM常用参数讲解:-XX,-X,-D 的区别与常用JVM配置 +应用程序配置实例+ 调优思路
    OSPFの
    drools执行完某个规则后终止别的规则执行
    makefile个人笔记
    RHCE---Linux的计划任务
    ASP.NET限流器的简单实现
    2.ClickHouse系列之特点介绍
  • 原文地址:https://blog.csdn.net/qiufo/article/details/132716710