最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

BlogsToWordPress v18.4 – 将(新版)百度空间,网易163,新浪sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress

crifan 56709浏览 0评论

最后更新:v2017-09-14


前言:

1.使用本脚本之前必看:

BlogsToWordPress使用前必读

2.想要看本程序的使用说明,可直接去这里:

BlogsToWordPress 的用法的举例说明

3.有任何问题,意见,建议,bug提交等,建议去专门的讨论区:

BlogsToWordPress – WordPress博客搬家工具 讨论区

4.如果想要对此脚本进行扩展,以支持更多类型的博客搬家,可参考:

如何扩展BlogsToWordPress以支持更多类型的博客搬家

 


BlogsToWordpress简介

BlogsToWordpress是Python语言实现的脚本。

主要用来实现:

1. 将(新版)百度空间,网易163,新浪sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客,搬家到wordpress

(即通过此Python脚本,将博客中的帖子的各种信息,导出为WXR文件。然后就可以将其导入wordpress,实现博客搬家了。)

2. 以及搬家后,修改原先帖子,添加搬家声明等信息。

下载BlogsToWordpress

关于下载:

之前的BlogsToWordpress,从v1到v17.1,都是放在GoogleCode上面的:

GoogleCode上面的BlogsToWordpress

后来由于GoogleCode不支持下载功能,而搬家到SourceForge:

【记录】把BlogsToWordPress项目从GoogleCode搬家到SourceForge

目前最新下载主页是:

Github上的BlogsToWordpress

(旧版本:

SourceForge上的BlogsToWordpress

之后,所有的最新版本,都请到SourceForge上的BlogsToWordpress 去下载。)

 

此处,把目前的最新版本的源码和可执行文件的下载地址,贴出来,方便直接点击下载:

 

最新版本号 源码下载地址 可执行文件下载地址
v18.3 BlogsToWordpress_v18.3_2014-05-23.7z
v18.2  
v17.7 BlogsToWordpress_v17.7_2013-08-27.7z

 

BlogsToWordpress的由来

关于最初的要把博客导入到wordpress中的详细折腾过程,参见:

记录 wordpress折腾过程

此处只简要说说过程。

之前机缘巧合,想弄一个个人网站,然后就找到了wordpress。

用wordpress把网站搭建起来后,就遇到了,需要把之前其他博客的帖子,搬家搬到当前的个人网站。

接着就知道了,有个wordpress importer的东西,支持把对应的WXR文件导入到wordpress中,就可以实现帖子搬家了。但是对于如何获得/生成对应的WXR文件,就遇到了问题。

网上所能找到的所有的方法,都不能实现我要的功能。

最接近,最可能的,可以实现需要的功能,算是下面这几个工具了:

1。先是BlogMover.zip中的163-blog-mover.py和hi-baidu-mover.py,都不能用,

2 。其次,后来找到的新版本的hi-baidu-mover_v2.zip中的hi-baidu-mover_v2.py,也不能用。

两者的最原始的代码,都是参考 Live Space Mover的,其代码放在google code了:live-space-mover

接下来,就是被逼无奈,在对于Python只有写过一个简单的脚本:

[tmp] python: parse command

的基础上,花了大半个月,实现了这个脚本的:

(1)第一个版本

BlogsToWordpress_v2012-01-10.7z

是百度和163分开实现的。

当时不了解如何通过python去登陆百度,163等博客,所以也就无法导入博客中的私人日志。

(2)第二个版本:

后来在折腾了:

WLW (Windows Live Writer) Plugin–InsertSkydriveFiles

后,搞懂了如何C#中如何登陆网页,搞懂了cookie等相关的逻辑,然后回头又来通过python语言,实现了这套逻辑,因此,也就可以把登录功能添加到了此脚本中。实现了第二个版本的BLogsToWordpress,即支持登陆模式下的,导入所有的帖子,包括公开的public的帖子,和私人的private的帖子。

并且又接着在登陆模式基础上,添加修改帖子内容,以添加博客搬家声明的功能。

本来想单独放出来此第二个版本的,但是考虑到代码有点乱,以及本来就像将两个单独的python脚本baiduBlogToWordpress和163BlogToWordpress合并到一起的,所以就又去花时间,折腾出下面的:

(3)第三个版本:

此版本,是将两个脚本中间包含了很多重复的代码,。因此,在其基础上,动了大手术:

把整个博客搬家相关的框架部分的代码,抽取出来放到核心的BlogsToWordpress中;

然后再把不同博客提供商(百度和163)对应的代码,分别放到BlogBaidu和BlogNetease中去;

同时又把常用的功能提取出来,整理为我的自己的python库:crifanLib.py

至此,才算实现我最终想要的,即把博客搬家,弄成框架式的。

这样,以后如果谁想要实现其他博客搬家的话,就可以参考已经实现的百度,163的博客的代码,然后照葫芦画瓢,去写个对应的BlogXXX,实现了对应的接口函数,也可以同样实现对应的博客搬家的功能了。

(4)第四个版本

http://code.google.com/p/blogs-to-wordpress/issues/list中看到有人提要求,希望实现新浪,qq空间等搬家到wordpress。关于这点,之前就考虑过,之前没折腾,主要是因为:

a。精力有限,忙于折腾百度和网易的搬家的实现。

b。之前已经有人实现了此功能:新浪博客搬家WordPress

c。自己之前不需要此功能

不过,此处,还是打算,再花些精力,把新浪博客搬家到wordpress的功能实现了。

然后就花了几天,实现了这个v4.0,支持新浪博客搬家了。

此部分,总得来说,难度不是很大,但是还是有很多技术细节需要处理的。

尤其是BeautifulSoup的一些bug等,花费了不少时间找到规避该bug的方法。

其他的,包括评论数据如何获取等,就是通过抓取网页分析一下,就可找到具体方法了。

(5)第五个版本

同上,实现了某人所希望的,支持QQ空间搬家的功能。

折腾这个,把基本功能实现了,即支持导出帖子的标题,分类,标签,发布时间,内容等,花了大概2,3天,但是后期处理百度的各种变态的编码等问题,以及添加支持各种类型的图片地址的支持等,加上最后的大量的测试,共又花了2,3天。前后一共算下来共花了大概5天时间。

总的来说,难度不大,但是需要再花点精力。

有点难度的事情,主要是python中如何使用好正则表达式re模块,去写单个的pattern,但却能匹配多种不同的地址等,需要对正则表达式比较熟悉才能搞定的。

最后还是感慨一下,百度在QQ空间的技术实现上,真的很变态,详情参见:

【记录】给Python脚本BlogsToWordPress中实现QQ空间搬家到wordpress的功能 + 感慨:QQ空间真的很变态

(6)第六个版本

看到某人说没找到支持人人网搬家到wordpress的,所以就去实现了人人网搬家到wordpress。

添加了基本功能的支持,难度不大,但是需要先去实现登陆模式,因为人人网不登陆,是无法查看博客帖子的。

然后又发现有些公共主页,是可以不登陆,也是可以查看,也就添加了对应的支持导出为wxr。

另外,又花时间去测试了一些个别帖子,其评论多达1000多个,对其全部抓取并处理。

(7)第七个版本

看到有人在百度知道中提及想找CSDN搬家到wordpress,所以,就又花些时间去实现了这个功能。

(8)第八个版本

是看到博客备份工具(Blog_Backup)中,支持很多博客,所以自己就又花点时间,对于搜狐等一些常见的博客,添加了支持。

(9)第九版

主要改变了WXR(XML)文件导出方式,由之前的在全部文章处理完毕,最后一次性导出所有的文章为WXR文件,

改为现在在处理过程中,(当大小超过文件大小限制,默认为2MB的时候)就导出。

因为之前的问题是,如果由于后期某个帖子出了问题,导致前面已经处理过的那么多帖子,都无法导出,还要重来一遍,

现在,可以很大程度的避免此问题了。因为处理过的帖子,加起来要导出的内容超过大小限制,就会及时导出。

这样最坏情况,也最多就是最近一些处理过当的帖子,没有及时导出而已。

(11)第十一版

先是去添加了博客大巴的支持,详见:记录为BlogsToWordPress添加Blogbus支持

后来又去添加了新版百度空间的支持,详见:记录给BlogsToWordPress添加新版百度空间的支持 + 吐槽新版百度空间

(12)一是把子模块都移至子文件夹,使得逻辑和架构更加清晰。因为东西要做得好,不光是外在好用好看,内在也要逻辑清晰才行。

二是由于有人希望导出新版百度的私人的帖子,所以又去增加了对于新版百度空间的登陆模式和更新帖子的支持。

(13)为了方便用户,不需要再去下载安装chardet,所以把chardet集成进去了,发布了v13.8

后来又更新人人网的登陆模式,支持手动输入验证码登陆。

(16)详见:

【记录】为BlogsToWordPress添加点点轻博客(BlogDiandian)的支持

【记录】为BlogsToWordPress添加天涯博客(BlogTianya)的支持

 

BlogsToWordpress的相关数据

代码量

此脚本,算是在163-blog-mover.py和hi-baidu-mover_v2.py的基础上,自己一点点实现的。

不过呢,现在最新版本的代码中所包含的原先代码,大概不超过2%,可以说是>98%的内容,都是自己一点点从无到有实现的,所以可以说是绝大部分都是自己实现的。

现在BlogsToWordpress的全部代码,加起来的话,估计差不多有近5000行,基本上算是原先两者之和的10倍左右。

工作量和技术难度程度

其实,了解软件的都知道,代码量,不能准确反应出背后的工作量和技术的难度程度。

对于脚本的工作量和技术方面的难度程度,大概评估一下,可以算是:

如果最开始的163-blog-mover.py和hi-baidu-mover_v2.py的工作量和技术难度,都加起来,算是3个人工时的话,

那么三个版本:

(1)不支持登陆模式的第一个版本

工作量和难度,大概有30个人工时.

即,如果说,写163-blog-mover.py和hi-baidu-mover_v2.py需要花费3天的话,写出第一个脚本,至少需要30天=1个月。

其中太多细节和技术难点需要处理,主要精力花费在:

A。分析网页源码,以搞懂评论内容是如何获得的,即分析如何去提交对应的url以及相关的机制。如何提交评论地址,一点点获得所有的评论的内容。

B。获得了返回的评论的原始信息,如何解析处理,获得WXR中所需要的信息。这部分,最消耗时间,太多细节,需要一点点处理。太多评论中的异常的内容,需要考虑。

C。对于处理图片的部分,花费了巨大的精力。主要包括,如何写出一个完美的可以捕获到所有的可能的类型的图片地址,然后如何去下载对应的图片,接着再替换图片。关于用正则表达式re模块去写pattern的话,遇到了各种可能,测试了N个博客,改了N个版本,花了很多的精力和时间。

(2)支持登陆模式的和支持修改帖子的第二个版本

工作量和难度,在第二个版本的基础上,大概有15个人工时。

即在第二个版本的技术上,还需要花大概半个月才可以搞定。

其中主要精力花费是:

A。用IE9或chrome去分析网页登陆的背后逻辑,主要是相关的cookie的来龙去脉。

B。实现了登陆代码后,再去检测是否是登陆的是自己的博客。

C。抓取网页过程,分析发帖的逻辑。

D。实现修改帖子的代码,并测试多个博客,再修补一些bug或遇到特殊问题如何处理,比如遇到敏感词无法修改的帖子,自动跳过等。

总之,这部分,由于有了之前C#下面搞懂的网页登陆的一套逻辑,所以,实现起来,相对技术难度不是那么高,但是还是要花很多时间分析和实现相应代码的。

(3)最后的框架式的第三个版本

工作量和难度,大概有10个人工时.

即在第二个版本的基础上,还要再花个10天左右。

主要精力花费:

A。整理分离出框架代码:BlogsToWordpress

B。整理好子模块的代码,BlogBaidu,BlogNetease,以及自己的python库:crifanLib.py

C。全部代码都OK了,也要做前后加起来有10多个博客的测试,确保都是可以工作的。

这部分,总的来说,没太大技术问题,但是需要花时间和精力整理出来,以及做最后的测试。

(4)第四个版本

在v3.0的框架已经弄好的基础上,算是花了3天左右的时间,搞定了支持新浪博客搬家。

这部分,主要精力花在:

a。解决beautifulSoup的bug上面

b。支持图片下载功能,花了不少时间,主要是re模块的pattern很难弄出完美的,所以暂时只支持sina自己博客的图片,暂不支持其他地址的图片了。

c。自己找了N个博客,测试了各项功能是否OK

(5)第五个版本

v5.5的精力花费:

a。添加基本功能

b。支持各种图片地址及规避百度变态的编码等设计问题

c。大量的测试

大概花了5天时间。

 

对于v5.6中,解决了sina博客的帖子的评论有时候无法获取全部的bug。

下面是一些测试数据:

帖子1:http://blog.sina.com.cn/s/blog_4701280b0101854o.html

所用命令:

BlogsToWordpress.py -f http://blog.sina.com.cn/s/blog_4701280b0101854o.html -l 1 -x 20971520

评论数目:20912个

所花费的时间:

———————————————————————-
Total Processed [0001] posts, averagely each consume seconds=1078.0930
Total Consume Time: 00:17:58
  Find 1stLink: 00:00:00
  Process Post: 00:11:47
      Fetch   Pages     : 00:00:00
      Process Pictures  : 00:00:00
      Process Comments  : 00:11:37
      Translate Name    : 00:00:05
  Export Head : 00:00:00
  Export Posts: 00:06:08
  Export Foot : 00:00:00

 

帖子2:http://blog.sina.com.cn/s/blog_4701280b0102e0p3.html

所用命令:

BlogsToWordpress.py -f http://blog.sina.com.cn/s/blog_4701280b0102e0p3.html -l 1 -x 41943040

评论数目:37463个

所花费的时间:

Total Processed [0001] posts, averagely each consume seconds=2835.3740
Total Consume Time: 00:47:15
  Find 1stLink: 00:00:00
  Process Post: 00:22:23
      Fetch   Pages     : 00:00:00
      Process Pictures  : 00:00:00
      Process Comments  : 00:22:14
      Translate Name    : 00:00:03
  Export Head : 00:00:00
  Export Posts: 00:24:49
  Export Foot : 00:00:00

(6)第六个版本

共大概花了3天时间,精力花费:

(1)实现基本功能,基本上1天就实现了:1.0天

(2)花时间调试,处理个别特殊的帖子,其编码也是有问题,只能特殊处理才可以:0.5天

(3)添加了支持所有评论(测试过1000多个的):0.5天

(4)支持了登陆模式(登陆并导出自己的人人网日志),非登陆模式(page模式,可导出一些不需要登陆即可查看的公共主页的日志),查看朋友模式(登陆自己的人人,但导出朋友的日志):0.5天

(5)测试了十多个人人网,加起来有好几百个帖子,N个评论:0.5天

(7)第七个版本

大概花了2天时间

(1)用1天实现了基本功能

(2)剩下一天用于测试,测试中发现了几个bug,以及一些个别博客特殊,需要修bug和加上特殊处理。

难度不大,但是对于CSDN博客,也发现一些变态的地方。

其博客帖子,最新的那几个,其下一篇,不是正常的按照时间顺序的下一篇,而是都变成了博客最早的那篇帖子。

本来这种希望读者可以多浏览你CSDN博客的帖子的做法,如果只是最新一篇帖子是这样处理的,那是可以理解的。但是却是最新的好几篇,甚至好多篇帖子,其下一篇都是最早帖子,那就是脑子进水的做法了。

(8)第八个版本

大概花了2天时间:

(1)1天时间了基本功能。

(2)剩下大半天,主要就是处理搜狐中,一些比较变态的事情,主要是blog content部分,包括了很多额外的垃圾内容,主要是:

精彩阅读 , 更多阅读 , 更多文章推荐阅读,体验新版博客,分享到搜狐微博,分割线clear,上一篇,下一篇等。

因为正常的博客,其设计出来,一般都是博客的帖子的内容与这帖子内容有关,但是非帖子内容本身的,则肯定是不同的div,不同的段落,而搜狐设计出来的博客帖子内容,通过Beautifulsoup处理后得到soup,再

foundContent = soup.find(id=”main-content”);

而得到的foundContent ,却包含了上面那些垃圾内容,导致处理起来,很是麻烦,要写出合适的pattern去再去用re.sub以去除这些内容,而且还要兼容不同格式,很是麻烦。

另外,其中很多搜狐的博客帖子,比较早期的一些,很多帖子是没有上下篇的,导致也是需要全部获取文章url列表,以得知下一篇的url,所以也是很费事。总之,搜狐博客设计的,也是尼玛够变态的。

(9)第九版

花了大概1天时间

主要是调整代码的框架结构,比较麻烦些。代码弄好后,经过基本测试,都OK了。

而且还测试了整体处理速度,原以为会慢,但是实际上还略快5%-10%。

(10)后续琐事不再赘述。

 

所支持的功能

原先脚本只支持最基本的提取帖子的标题,内容,分类,(部分)评论等。

而现在所实现的BlogsToWordpress的第三个版本,全部列出来,大概有:

1.支持输入的地址,是多种格式的。

2.支持处理全部评论

3.支持登陆模式 –> 可以导入私人日志了

4.支持登陆模式下的修改帖子内容->可以给原先帖子中添加搬家声明等内容

5.支持处理图片->下载图片,并替换相应地址:就像最近一些博客,比如QQ空间,百度空间等所支持的,你发布帖子的时候,自动检测出其他图片,问你是否要在发帖的同时,上传图片到你的空间的那个功能。

6.支持处理(其他网站的图片) –> 可以处理其他网站的图片了

7.支持本博客的和其他网站的图片地址替换时候的,自定义所要替换为的图片地址

8.是否自动忽略处理那些图片,该图片地址和之前已经处理过但出错的图片地址类似 –> 以节省时间

9.是否启用google翻译->用于生成WXR中的post title name,即wordpress中发布帖子的固定链接permanent link,可以通过启用google翻译,自动将标题翻译为英文,然后处理为有效的链接地址,这样导入到wordpress后,自动就有了固定链接了

10.支持自定义导出的帖子的地址的前缀

11.支持自定义所输出的WXR文件最大的大小值->导出WXR时,如果超出此大小,则会自动分割,避免了还需要额外的其他XML分割工具来分割了。

12.可自定义所要处理的帖子的类型,包括publicOnly,privateOnly,privateAndPublic

13.对于每种类型的帖子,具体如何处理:exportToWxr和modifyPost,即导出为WXR文件,还是修改帖子的内容。

14.是否自动跳过含敏感词的帖子,以避免修改帖子时候,某个帖子出现这类错误,而导致脚本无法继续执行了。

 

以上所有参数,都支持开关的特性,即某个功能你不需要,那么就可以传递参数去关闭该功能。

多说一句,正是由于功能太多了点,参数名字也太多,导致参数的缩略字母,都很容易互相冲突,搞得在定义哪个参数用哪个字母,都纠结了一番。。。

 

更多内容,请参考脚本的-h参数所输出的帮助信息。

BlogsToWordpress功能简介

本BlogsToWordpress脚本支持两大类功能:

1. 将博客内容导出为WXR文件

用于将WXR导入到wordpress中,实现博客搬家的功能

其中,对于导入为WXR,又可以分两类:

(1) 非登陆模式

没有提供用户名和密码的情况下,对于访问一个博客,那当然只能查看对应的公开的发表的帖子了。

因此也只能处理对应的公开发布的帖子。

(2) 登陆模式

在提供了用户名和密码的情况下,支持登陆对应的博客,然后可以根据设置,处理相应类型的帖子。

主要包含两类,一类是处理公开发表的帖子,将这些帖子导出为publish类型的,这样导入Wordpress后,就是对应的已发布的类型的帖子了。

另一类主要是,对于有些博客中,包含有些私人类型的帖子

(百度空间中,会显示出“该文章为私有”;

网易博客中显示出“私人日志”)

将这类帖子,导出为private,这样,导入wordpress后,其帖子属性就是private了,就不会公开发布出来,可以在:

文章 –> 所有文章 –> 私密,中看到对应的私人的帖子。

2. 修改帖子内容

用于在博客搬家之后,给原先博客中的每个帖子,添加对应的搬家声明类的文字说明。

其他一些说明

1.已经在wordpress官网中的 zh-cn:导入内容 中添加此链接,以方便想要搬家的人找到这里。

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (149)

  1. 网易博客留言也能搬了吗?
    Neysa12年前 (2013-06-12)回复
    • 最新版本,v17.7,已经支持了网易163的 心情随笔 了 用法举例: BlogsToWordpress.py -f http://blog.163.com/ni_chen/blog/#m=1
      crifan11年前 (2013-08-27)回复
  2. LINE 1600 INFO platform.python_build()=('default', 'Apr 10 2012 23:24:47') LINE 1600 INFO platform.python_compiler()=MSC v.1500 64 bit (AMD64) LINE 1600 INFO platform.python_branch()= LINE 1600 INFO platform.python_implementation()=CPython LINE 1600 INFO platform.python_revision()= LINE 1600 INFO platform.python_version()=2.7.3 LINE 1600 INFO platform.python_version_tuple()=('2', '7', '3') LINE 1600 INFO platform.release()=7 LINE 1600 INFO platform.system()=Windows LINE 1600 INFO platform.version()=6.1.7601 LINE 1600 INFO platform.uname()=('Windows', 'CNN88-20130222R', '7', '6.1.7601', 'AMD64', 'Intel64 Family 6 Model 42 Stepping 7, GenuineIntel') LINE 1600 INFO Default encoding : ascii LINE 1600 INFO Current path : C:\Users\ADMINI~1\AppData\Local\Temp\_MEI2682 LINE 1600 INFO 版本信息:v17.1 LINE 1600 INFO 1.如果脚本运行出错,请务必把上述(1)从脚本开始运行到上述所打印出来的系统信息(2)出错时候的相关信息(3)脚本所生成的BlogsToWordpress.log文件,通过复制粘贴、截图、附件等方式 LINE 1600 INFO 发送至admin(at)crifan.com或跟帖(下面有地址)回复,否则如果没有足够的错误相关信息,我就是想帮你解决问题,也没法帮啊! LINE 1600 INFO 2.如对此脚本使用有任何疑问,请输入-h参数以获得相应的参数说明。 LINE 1600 INFO 3.关于本程序详细的使用说明和更多相关信息,请参考: LINE 1600 INFO BlogsToWordPress:将(新版)百度空间,网易163,新浪Sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress LINE 1600 INFO https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/ LINE 1600 INFO -------------------------------------------------------------------------------- LINE 1600 INFO Your process type of post is: Export post to WXR(WordPress eXtended Rss). LINE 1575 ERROR Must designate the entry URL for the first blog item ! LINE 1575 ERROR Unknown Error ! Traceback (most recent call last): File "", line 1941, in File "", line 1665, in main SystemExit: 2
    provisa12年前 (2013-06-06)回复
  3. LINE 1600 INFO Current runtime info: LINE 1600 INFO Paramenters : ['C:\\Users\\nice\\Desktop\\BlogsToWordpress_v16.9_2013-03-11_noGUI_windows.exe'] LINE 1600 INFO Python version : sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0) LINE 1600 INFO platform.machine()=AMD64 LINE 1600 INFO platform.node()=nice-PC LINE 1600 INFO platform.platform()=Windows-7-6.1.7600 LINE 1600 INFO platform.processor()=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel LINE 1600 INFO platform.python_build()=('default', 'Apr 10 2012 23:24:47') LINE 1600 INFO platform.python_compiler()=MSC v.1500 64 bit (AMD64) LINE 1600 INFO platform.python_branch()= LINE 1600 INFO platform.python_implementation()=CPython LINE 1600 INFO platform.python_revision()= LINE 1600 INFO platform.python_version()=2.7.3 LINE 1600 INFO platform.python_version_tuple()=('2', '7', '3') LINE 1600 INFO platform.release()=7 LINE 1600 INFO platform.system()=Windows LINE 1600 INFO platform.version()=6.1.7600 LINE 1600 INFO platform.uname()=('Windows', 'nice-PC', '7', '6.1.7600', 'AMD64', 'Intel64 Family 6 Model 23 Stepping 10, GenuineIntel') LINE 1600 INFO Default encoding : ascii LINE 1600 INFO Current path : C:\Users\nice\AppData\Local\Temp\_MEI60482 LINE 1600 INFO 版本信息:v16.9 LINE 1600 INFO 1.如果脚本运行出错,请务必把上述(1)从脚本开始运行到上述所打印出来的系统信息(2)出错时候的相关信息(3)脚本所生成的BlogsToWordpress.log文件,通过复制粘贴、截图、附件等方式 LINE 1600 INFO 发送至admin(at)crifan.com或跟帖(下面有地址)回复,否则如果没有足够的错误相关信息,我就是想帮你解决问题,也没法帮啊! LINE 1600 INFO 2.如对此脚本使用有任何疑问,请输入-h参数以获得相应的参数说明。 LINE 1600 INFO 3.关于本程序详细的使用说明和更多相关信息,请参考: LINE 1600 INFO BlogsToWordPress:将(新版)百度空间,网易163,新浪Sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress LINE 1600 INFO https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/ LINE 1600 INFO -------------------------------------------------------------------------------- LINE 1600 INFO Your process type of post is: Export post to WXR(WordPress eXtended Rss). LINE 1575 ERROR Must designate the entry URL for the first blog item ! LINE 1575 ERROR Unknown Error ! Traceback (most recent call last): File "", line 1934, in File "", line 1658, in main SystemExit: 2 果然还是没成啊,楼主,请帮我看看吧!
    羊仔12年前 (2013-04-11)回复
  4. 楼主我错了,我认真的看了说明了。那个可执行文件是需要在cmd下执行的。不过楼主啊,我的图片都是用的flickr的,其实我希望只把原博客内容里的html复制下来就可以了。该怎么弄呀
    羊仔12年前 (2013-04-11)回复
  5. 楼主,我下载了exe程序,当我在xp上运行的时候他说不是32位程序。
    羊仔12年前 (2013-04-11)回复
  6. 先谢谢楼主,不过我有个小小的问题,就是我以前用网易博客的时候就知道自己有一天肯定会搬出来的,所以用的都是flickr外链图片。不过在网易发表的时候,他会自动给图片添加名字,比如指向网易博客什么的,在转换到wordpress的时候能不能破呢? 网易心情要是也可以添加就好了。 多谢多谢!!!!!
    羊仔12年前 (2013-04-11)回复
  7. 好工具,以前找了一阵子CSDN导出的工具 一直没找着. 机缘之下终于看到博主的Blog.希望能用~
    阿土12年前 (2013-04-05)回复
  8. 大神你好,为啥我在搬家时报这种错误,测试了一下163的也是这样,我是python2.7没装好吗?我用的WIN7系统 LINE 908 : ERROR Can not extract post title for http://user.qzone.qq.com/*****/blog/1196351378 ! LINE 1939 : ERROR Unknown Error ! Traceback (most recent call last): File "C:\Users\huyf\Desktop\BlogsToWordpress\BlogsToWordpress.py", line 1937, in main(); File "C:\Users\huyf\Desktop\BlogsToWordpress\BlogsToWordpress.py", line 1692, in main infoDict = fetchSinglePost(permalink); File "C:\Users\huyf\Desktop\BlogsToWordpress\BlogsToWordpress.py", line 909, i n fetchSinglePost sys.exit(2); SystemExit: 2
    lhf837112年前 (2013-04-02)回复
    • 那个****是我的QQ号,已经发你邮箱了
      lhf837112年前 (2013-04-02)回复
  9. WWW.ithinkopen.com 博主你好,我是中国开源促进社区的,转发了你的文章!
    WP12年前 (2013-03-26)回复
    • 嗯,这个,可以有。
      crifan12年前 (2013-03-26)回复
  10. 你好,按照你的方法已经办完了,谢谢啦。只是网易博客的“心情随笔”没搬过去。
    Neysa12年前 (2013-03-07)回复
    • 刚找到了你的网易博客: http://blog.163.com/ni_chen/blog/#m=1 中的“心情随笔”,发现其像是微博的一条条的更新和人人网的状态。 这些数据形式,在wordpress中,没有对应的合适的形式,即不方便直接转换到wordpress中的页面,帖子等形式,所以,也不方便转换提取。 目前能想到的一种方案是: 单独创建一个新的帖子,然后把所有心情随笔,弄成该帖子的评论。 不知道是否能够满足你的要求? 如果满足,那也得等我有时间,再去实现此功能。
      crifan12年前 (2013-03-07)回复
      • 嗯,可以啊。我在wp上对应网易“心情随笔”的就是一个只有评论的空帖子。
        Neysa12年前 (2013-03-07)回复
        • http://nichen.info/gustbook/这是地址
          Neysa12年前 (2013-03-07)回复
  11. 感谢作者,我搬运了07年至今的所有文章。 但是 没有搞清楚 图片要怎么样上传。 谢谢
    starxue12年前 (2013-02-07)回复
  12. 百度空间用户名是中文名的不支持登录哦。
    imi12年前 (2013-01-20)回复
    • 你说的是对的,不过是针对现在最新的百度空间而言的。 很久之前的,老的百度空间,最开始是支持中文名的。 当然,现在度娘已经彻底放弃旧版了,完全不存在旧版的空间了。所以此支持中文名的功能,也就没了实际价值了。
      crifan12年前 (2013-01-29)回复
  13. Can not find the first link for http://blog.csdn.net/v_JULY_v, error=Unknown error! 在win7下面出现这个错误,如果win7下面不行,在ubuntu报错:AttributeError: 'module' object has no attribute 'getwindowsversion'又好像只能在win下面用。。。
    fengshen12年前 (2012-11-05)回复
    • 看了下,说win7不支持了。我找了一打人都没有找到xp的。 还是非常敬佩作者解析了这么多的博客。 另外也会修复那个ubuntu下面的错误。 到时候对于新版本,欢迎测试和反馈。
      fengshen12年前 (2012-11-05)回复
      • 估计你把win8看成win7了。win8是不支持,win7是一直支持的。
        crifan12年前 (2012-11-05)回复
        • LINE 1923 : ERROR Unknown Error ! Traceback (most recent call last): File "F:\blog\BlogsToWordpress.py", line 1921, in main(); File "F:\blog\BlogsToWordpress.py", line 1676, in main infoDict = fetchSinglePost(permalink); File "F:\blog\BlogsToWordpress.py", line 893, in fetchSinglePost sys.exit(2); SystemExit: 2 ----- 改为python2.7正常运行了,但是运行到某个地方,就出错,我看了一下出错之前的那篇文章地址是转载的文章!
          AMOI12年前 (2013-01-05)回复
          • 这个应该是一个bug来的!
            AMOI12年前 (2013-01-05)回复
            • 回复你后来邮件中发给我的问题。 一共报了3个百度帖子有问题。 我去重新测试的结果是: 1. BlogsToWordpress.py -f http://hi.baidu.com/iqpkeq/item/784c55102e6bed0ed1d66d26 BlogsToWordpress.py -f http://hi.baidu.com/iqpkeq/item/954dd8427491f017886d1037 两个均运行正确,可以提取帖子标题,可以继续处理之后的帖子。 所以,请你自己确定你的网络是稳定的。 2.对于: http://hi.baidu.com/iqpkeq/item/89191e95e895bfbccc80e53e 本身无法打开: 啊~哦~ 您要查看的页面不存在或已删除! 可能是你帖子被禁,或者是设置了隐私。 到目前为止,对于你这三个帖子,没发现我脚本有bug。请你自己确保上述条件,然后多次测试一下。 如果还有错误,请贴出详细的运行环境和错误结果。
              crifan12年前 (2013-01-09)回复
              • 不是,我提交的问题意思是,如果是转载过来的文章,就会报错@
                AMOI12年前 (2013-01-09)回复
                • 把我脚本运行时所打印出来的信息,再贴出来给你看: LINE 1546 : INFO 版本信息:v16.8 LINE 1547 : INFO 1.如果脚本运行出错,请务必把上述(1)从脚本开始运行到上述所打印出来的系统信息(2)出错时候的相关信息(3)脚本所生成的BlogsToWordpress.log文件,通过复制粘贴、截图、附件等方式 LINE 1548 : INFO 发送至admin(at)crifan.com或跟帖(下面有地址)回复,否则如果没有足够的错误相关信息,我就是想帮你解决问题,也没法帮啊!
                  crifan12年前 (2013-01-09)回复
    • 我去试了试,果然是出现此错误。估计是csdn改版了。 我会尽快修复此错误并放出新版本的。
      crifan12年前 (2012-11-05)回复
    • 已发布v16.2,解决了这些问题。 另外,csdn好像有点问题,刚开始去测试http://blog.csdn.net/v_JULY_v,也是出错,但是后来再测试,就可以正常处理了。 所以估计是csdn不稳定所导致的。另外后来新版本,测试了很多个其他的csdn的博客,已证实,都是可以正常处理的。 另外,很奇怪的是,你如果是自己搬家,为何不用自己的csdn博客去测试?
      crifan12年前 (2012-11-05)回复
  14. 请问现在支持天涯博客搬家了吗?
    白苏12年前 (2012-10-26)回复
    • 现在不支持。不过既然你有需求,那我最近几天就帮你弄出来。
      crifan12年前 (2012-10-26)回复
    • 最新的v16.0已经支持天涯博客了。
      crifan12年前 (2012-11-02)回复
  15. 太感谢了,我 csdn 博客的大几百篇文章全部迁移到 wordpress 里面去了,包括图片资源的物理文件,也都下载下来了。以前为了备份csdn 博客里面的几百篇博文,我还筹划着写一个类似的东西呢,但是一想到这不是一件容易的事情,所以就一直拖着了,你用你的能力和无私的精神替我、替很多其他的人节省了大量的时间,你,是一个好人,哈哈~我决定了,我也要开设一个类似的博客,像你学习,把我见识到的好东西,做出来的好作品,都无私地分享给大家。 额,最后,在使用你最新版本 BlogsToWordpress 的时候,发现了一点儿小问题: 我的系统是 Mac OS X Lion 10.7.2,在 unix 系统下面,路径分隔符是 '/',你应该是多在 windows 下面做的测试吧,刚开始跑的时候我发现无法正常的工作,后来看了一下你的源代码,发现你写的 分隔符是windows 下面使用的 '\'。其他到没有什么太大的问题。在 csdn 博客搬家的过程中,下载图片的时候有时候会出现卡住的情况,经过摸索,发现在按下 ctrl + c 组合键以后,就能取消掉当前的图片下载任务,不过依然能够继续详细运行下载新一篇的博文。 另外,我也看了你关于 BlogsToWordpress 的相关博文,非常佩服你对事物执着的精神,qq、百度那么变态都被你拿下了,要是我的话,可没那么有耐性。。呵呵,以后有空会多来你的博客转转,真是个学习的好地方啊。最后,看了你的源码,书写风格挺干净整洁的,实在让人赏心悦目,膜拜!
    yang3wei12年前 (2012-10-26)回复
    • 多谢夸奖。 对于你发现的脚本在mac下的那个bug,其实之前别人就给我说过了,只是由于不小心,时间长就忘了。 现在这次,一定不忘,尽快修复该bug。 也期待你的好东西的出现。
      crifan12年前 (2012-10-26)回复
      • 呵呵,在发表回复之后我往下面看了一下,也发现有人已经提到过这个问题了,汗~ 给个建议啊,回复之后做个邮件提醒的功能,不然我都不知道你已经回复我了呢 还有,我今天发现一个问题 , 我是从 csdn 迁移到 wordpress 的,发现之前的分类都列到了 tag 里面 ,但却没有转为wordpress里面真正的分类,对于这点儿是不是有什么需要注意的地方呢? 说来惭愧,其实到这里我都没有仔细看过所有参数细要,当时下载完毕了的时候,那个高兴,就没去多研究各项参数的用法了。
        yang3wei12年前 (2012-10-27)回复
        • 1. 已经添加了评论邮件功能的啊。 详见: 【记录】给wordpress添加评论回复发邮件通知功能 所以,你回复我的评论时,应该能看到“发表评论”下面那个“有人回复时邮件通知我 ”才对的啊,而且默认是已经勾选的了。 难道你用的啥特殊浏览器,看不到? 2.不需要特别注意,因为正常情况就是这么处理的。 具体原因是:cdsn中的“分类”本来就是等价于"标签“(tag)的,所以才会出现csdn中的帖子的分类,都是多个的。并且分类所对应的页面的html源码中,也是tag。 因此,我才将其转换为tag的。 3.此脚本,参数众多,功能不是一般的多。但是多数用户,包括你,如果不是有特殊需要,只需使用默认设置,就足够用了。 而且本身我设计参数的默认值时,已经考虑到,尽量添加有用功能,去掉一般人不常用的功能。 即,秉承的思想是,让普通用户用着方便,让高级用户想折腾时,有参数可供折腾。
          crifan12年前 (2012-10-27)回复
          • 恩,这次我在qq邮箱里面收到了邮件回复,上次不知道是不是因为忘记勾选回复邮件的复选框了。关于第三点,记得好像有个什么参数的,设置了之后,下载下来的图片传到 uploads目录里面,再将 WXR导入以后,就能正常引用了。我上次用的时候没留意还有这个功能,所以后面还花了点儿功夫做路径替换。最后,关于第二点的话,有什么好的办法解决么?我看了一下 wordpress的数据库结构,没太弄明白博文分类这块的具体机制,不过在dashboard里面粗略看了下,好像也是用的一篇博文归类为多个类别,和csdn 是差不离的。期待回复。
            yang3wei12年前 (2012-10-27)回复
            • 关于帖子的分类: 一般的博客,或者说绝大多数的博客,都是只允许一个帖子,只有一个分类的,这个做法,也是我觉得最合理的。 而一个帖子运行多个分类,则是csdn等个别网站的做法。 而wordpress倒也是支持这种做法,一个帖子,你可以设置多个分类。 关于帖子的标签: 而一个帖子,允许多个标签,则是所有的通用的做法。 因此,在处理各种博客的帖子的时候,我只使用这种约定: 只允许一个帖子有一个分类。帖子本身没有分类,则放到默认分类中。像csdn这样,分类像标签一样有多个的,则全部视为标签,作为无分类,放到默认分类中。 否则,另外一种办法是,把多个分类的第一个分类,作为分类,剩下视为标签。但是也觉得这样的方法,还是不够好。 而想要还原csdn中的多个分类,全部都导入到wordpress中的多个分类的话,目前我的脚本不支持,以后也不打算支持。 如果你自己需要的话,可以考虑修改我的脚本,实现你所需要的功能。如果需要,我可以给你介绍从哪里入手修改代码。
              crifan12年前 (2012-10-28)回复
              • “而一个帖子运行多个分类,则是csdn等个别网站的做法。” 原来是这样啊,想了一下 ,一篇文章只允许有一个分类确实比较科学一些,不然的话和 tag 的功用感觉就重叠了。 解释地非常到位,再次感谢!
                yang3wei12年前 (2012-10-28)回复
  16. 十分感谢作者,博客搬家中:) 这个脚本在Mac下有bug,mac下面的本地路径是/a/b/c 而不是\a\b\c,导致图片的本地存储路径不对..
    Lei12年前 (2012-10-04)回复
    • 嗯,谢谢提醒。我会抽空再去验证一下,再修正的。
      crifan12年前 (2012-10-04)回复
81 queries in 0.199 seconds, using 22.24MB memory