注册 登录
北美网备份站 返回首页

北美生活网的个人空间 http://beimeilife.duckdns.org/?4 [收藏] [复制] [RSS]

日志

转载天香技术文章:Discuz插件开发: 博客搬家

热度 3已有 541 次阅读2016-1-2 05:38 |系统分类:日记随笔




将在论坛贴出的放在这里先:

一:关于复制其他网站的博文到自己的日志空间,参见帖子:如何从其它网站导入博文和图片
采纳彼岸网/天香公主《Discuz功能改进:导入博文和图片》的指导,我们对空间/博文也添加了复制博文/远程下载图片功能。

论坛建立以来,从彼岸网学习了许多知识/技巧,在这里再次向彼岸网致敬,更对天香公主表示崇拜和感谢~~

现在博主可以这样来将发表在其它网站的博文拷贝到本网站:
  • 点击"发表新日志"按钮
  • 点击"下载远程日志"按钮,在对话框里填写要下载的其它网站的博文的网址
  • 点击"下载远程图片"按钮
  • 点击"保存发布"按钮


二:关于博客搬家:参见帖子:网站帮助中心增加了--博客搬家; 或者阅读如下:
感谢彼岸网天香公主的帮助,我们在本往也添加了博客搬家功能:

帮助中心  博客搬家: 点击连接,打开博客搬家页面, 输入需要搬家的其他Discuz网站的博客/日志页面, 比如:http://www.beimeilife.com/home.p ... &view=me&from=space, 也即---日志列表页(或日志页)地址。




具体技术上如何做的, 参见:

在前面的博文里,我讨论了如何从其它Discuz网站导入单篇博文(链接)。但有时候博主需要的不是导入一篇博文,而是导入博客里的所有博文。这经常发生在博主要在一个新网站上建博客。比如不久前中科院办的科学网(也有人称之为科邪网)封了一个名叫嵇少丞的加拿大华人教授,他就自办了一个华科网(希望不要变成科妄网),在那里他们就帮助科学网的博主们把博客办到新网站来(链接)。在本文中,我介绍下我写的一个提供这个功能的新插件:日志搬家。它可以将其它网站里的整个博客搬到自己网站来,也可以搬单篇博文。







插件安装和用法:
和通常插件安装过程一样,将本文文后所附的压缩文件解压到网站的source/plugin后会在其中产生本插件的文件夹txgz_blog_importer。然后进入管理中心的应用->插件页里的"未安装的插件"部分里会看到本插件"TXGZ日志搬家 0.8"。点击"安装"后就可以在"未启用的插件",这时点击"启用",就能在网站上用这个插件了。 plugin.php?id=txgz_blog_importer:blog 是个提供这个功能的单独网页。可以将链接加在网站的合适的位置。比如将这个链接放在工具页上,或者放在导航栏里作为一个子项(在界面->导航设置里设置)。

一些技术讨论:
1) 网页解析工具:之前用PHP解析网页内容时,我一直用PHP带来DOMDocument 和 DOMXPath 类,但发现它解析网页某些网页时给出错误信息(如 链接 文中的日志数和 链接 文末的转载须知)。所以这次改用了S.C. Chen 等写的PHP Simple HTML DOM Parser (链接)迄今为止用下来只发现一个问题:没找到我彼岸网日志列表页首页(链接)里的翻页链接条(第二页后都没问题),所以不得不加上DOMDocument的代码作为后备。

2) 汉字编码转换:原来博客所在的网站和新网站不一定用同样的汉字编码,所以有可能需要转换博文的编码(如将 GBK 转为 UTF-8)。Discuz 提供了函数 diconv 来实现这个转换。

插件下载:http://www.bian-wang.com/upload/txgz_blog_importer_151230.zip

评论 (0 个评论)

返回顶部