0%

discuz论坛用户账号批量导入

脚本文件

用户信息源

用户信息文件按顺序存储用户信息(用户名,密码,邮箱,用户组,是否通知,addsubmit)。可以按如下两种方式组织(以以下格式复制到txt文本中即可):

  • 包含全部信息

      usr1,123456,usr1@usr.com,10,0,addsubmit
      usr2,123456,usr2@usr.com,10,0,addsubmit
      usr3,123456,usr3@usr.com,10,0,addsubmit
      usr4,123456,usr4@usr.com,10,0,addsubmit
    
  • 也可以只需要部分信息

      usr1,123456,usr1@usr.com
      usr2,123456,usr2@usr.com
      usr3,123456,usr3@usr.com
      usr4,123456,usr4@usr.com
          
    
  • txt文本

    http://ogy57hyu6.bkt.clouddn.com/user.txt

  • 说明

访问此链接即可查看添加新用户所需要填写的选项:

http://192.168.1.111/bbs/admin.php?frames=yes&action=members&operation=add

192.168.1.111 是discuz所在服务器ip
bbs 是discuz部署在服务器上的名称

脚本执行说明

  • 执行环境:Python2.7
  • 执行命令:./discuz.py

脚本相应调整

  • 根据具体环境需要作出的调整

    • 1.main函数中(在130行):

        file = '/Users/ux/py/dis/user.txt'
        home_url = 'http://192.168.1.147/bbs/admin.php'
        admin = 'ux'
        pwd = 'ux123456'
      
        file:需要被导入的用户信息的txt文本路径
        home_url:管理后台的访问路径
        admin:管理员的登录名
        pwd:管理员的登录密码
      
    • 2.对应的host修改(29行):

        "Host":"192.168.1.111", 
      
        将host修改为与home_url中一致的IP即可
      
  • 个别用户添加失败解决方法

      找到Discuz的数据表pre_common_member,
      查找与添加失败的用户email一致的记录,删除或修改即可。
    

查询并导出符合discuz.py要求的用户数据

  • mysql:

      SELECT CONCAT(username,','),CONCAT(password,','),CONCAT(username,"@email.com") AS email 
      FROM pre_ucenter_members;
    
  • db2:

      SELECT CONCAT(name,','),CONCAT(pwd,','),CONCAT(name,'@user.com') AS email 
      FROM PersonInfo
      WHERE Active='1';    
    

参考文章

http://blog.csdn.net/zhongping136/article/details/46730191
http://blog.csdn.net/change518/article/details/50555301