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

BlogsToWordPress 的用法的举例说明

crifan 19035浏览 0评论

最后更新: v2013-08-27

1.此页面是:BlogsToWordpress – 将(新版)百度空间,网易163,新浪sina,QQ空间(腾讯博客),人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress

中相关的BlogsToWordpress 的用法的说明解释。

2. 使用此脚本前,一定要看这个:BlogsToWordpress使用前必读


快速上手教程

几点说明

1.下面用法中,不论是exe版本的(比如BlogsToWordpress_v17.7_2013-08-27_noGUI_windows_x64.exe),还是源码版本的(BlogsToWordpress.py)

用法都是一样的。

下面以源码版本为例,来解释用法。

exe版本的话,只需把BlogsToWordpress.py换成对应的exe文件名,比如BlogsToWordpress_v17.7_2013-08-27_noGUI_windows_x64.exe,即可。

2.需要注意一点的是,目前发布的exe是x64的,不支持x86的系统(很多人都是32位的win7,所以,都没法运行这个exe)

3.其他注意事项和前提必备条件,请参考:BlogsToWordpress使用前必读

典型用法

导出整个博客的帖子

用法:

只需要加上

-s 博客首页地址

即可。

举例:

BlogsToWordpress.py -s http://againinput4.blog.163.com
BlogsToWordpress.py -s http://blog.sina.com.cn/crifan2008
BlogsToWordpress.py -s http://84483423.qzone.qq.com/
BlogsToWordpress.py -s http://www.renren.com/229351756
BlogsToWordpress.py -s http://blog.csdn.net/v_JULY_v
BlogsToWordpress.py -s http://maoyushi.blog.sohu.com/
BlogsToWordpress.py -s http://littlebasin.blogbus.com
BlogsToWordpress.py -s http://yujing1017.blog.tianya.cn
BlogsToWordpress.py -s http://hanhan--.diandian.com
BlogsToWordpress.py -s http://hi.baidu.com/rec_music/

提示:

上述博客首页地址,后面是否添加斜杠,无所谓的,因为程序里面是都支持的,即:

不论是:

BlogsToWordpress.py -s http://againinput4.blog.163.com

还是:

BlogsToWordpress.py -s http://againinput4.blog.163.com/

都是可以的。

 

从某个帖子开始导出整个博客

注意:

从某个帖子开始:指的是从该帖子开始,去导出,该帖子之后的,从发布时间上,更新的所有的帖子

即,对应着多数博客中的“下一篇”。(也有个别博客也把更新的帖子,弄成“上一篇”)

 

用法:

-f 某个帖子的地址

举例:

BlogsToWordpress.py -f http://againinput4.blog.163.com/blog/static/17279949120120824544142/
BlogsToWordpress.py -f http://blog.sina.com.cn/s/blog_3d55a9b70100o6x5.html
BlogsToWordpress.py -f http://user.qzone.qq.com/84483423/blog/1317884747
BlogsToWordpress.py -f http://blog.renren.com/blog/229351756/262929661
BlogsToWordpress.py -f http://blog.csdn.net/morewindows/article/details/7392749
BlogsToWordpress.py -f http://maoyushi.blog.sohu.com/86790907.html
BlogsToWordpress.py -f http://littlebasin.blogbus.com/logs/171413104.html
BlogsToWordpress.py -f http://blog.tianya.cn/blogger/post_read.asp?BlogID=4338249&PostID=47749663
BlogsToWordpress.py -f http://hanhan--.diandian.com/post/2012-05-07/17227064
BlogsToWordpress.py -f http://hi.baidu.com/rec_music/item/e1c214c3b824037ecfd4f8aa

 

导出博客帖子时,指定图片和网址前缀

不论是-s 博客首页地址,还是-f 某个帖子的地址,

如果想要:

使得导出的帖子的地址的前缀是你自己的新网站的地址,(而不是默认的localhost)

以及,给导出的图片,都加上对应的前缀地址 -> 不用你手动再去修改导出的WXR(XML)文件了

那么可以去加上对应的-a和-w参数。

举例:

BlogsToWordpress.py -s http://hi.baidu.com/serial_story -a https://www.crifan.com/?p= -w https://www.crifan.com/files/pic/serial_story
BlogsToWordpress.py -f http://hi.baidu.com/serial_story/item/367abf0feefef192a2df4301 -a https://www.crifan.com/?p= -w https://www.crifan.com/files/pic/serial_story

就可以使得:

生成的帖子地址前缀都是,类似于:

https://www.crifan.com/?p=xxx,其中xxx为帖子的postId

以及帖子中的图片的地址都是:

https://www.crifan.com/files/pic/serial_story/xxx

 

关于如何保证网站搬家后,图片可以正常显示,请参考后面的章节:“如何使得搬家后的wordpress的网站中的图片可以正常显示

 

注意:

-w指定参数时,最后不要加斜杠,即:

应该是:

-w https://www.crifan.com/files/pic/serial_story

而不是:

-w https://www.crifan.com/files/pic/serial_story/

 

详细用法说明

在介绍用法之前,先说说参数的类别。

简单说,分必选参数和可选参数。

必选参数两个,并且是两者选其一,要么-f,要么-s

参数简写参数全称默认值解释说明
-s–srcUrl博客入口地址。例如:

http://againinput4.blog.163.com

http://blog.sina.com.cn/crifan2008

http://84483423.qzone.qq.com/

http://www.renren.com/229351756

http://blog.csdn.net/v_JULY_v

http://maoyushi.blog.sohu.com/

http://littlebasin.blogbus.com

http://yujing1017.blog.tianya.cn

http://hanhan–.diandian.com

http://hi.baidu.com/rec_music/

程序会自动找到你的博客的(最早发布的)第一个帖子,然后开始处理。此参数最常用于,从前到后以此处理所有帖子。

-f–startFromUrl从哪个帖子(的永久链接地址)开始。例如:http://againinput4.blog.163.com/blog/static/17279949120120824544142/ http://blog.sina.com.cn/s/blog_3d55a9b70100o6x5.html

http://user.qzone.qq.com/84483423/blog/1317884747

http://blog.renren.com/blog/229351756/262929661

http://blog.csdn.net/morewindows/article/details/7392749

http://maoyushi.blog.sohu.com/86790907.html

http://littlebasin.blogbus.com/logs/171413104.html

http://blog.tianya.cn/blogger/post_read.asp?BlogID=4338249&PostID=47749663

http://hanhan–.diandian.com/post/2012-05-07/17227064

http://hi.baidu.com/rec_music/item/e1c214c3b824037ecfd4f8aa

如果设置此了参数,那么会自动忽略参数srcUrl

其余为可选参数,下面是可选参数的默认设置及含义:

参数简写参数全称默认值解释说明
-l–limit最多要处理的帖子的个数
-c–processCmtyes开启处理评论
-u

-p
–username

–password
用户名和密码都为空,即为非登录模式,只能导出所有公开发表的帖子(不能导出私人日志)
-i–firstPostId0

导入帖子的起始ID默认为0。此参数,貌似对于wordpress importer任何影响,所以可忽略此参数。

-b–processPicyes开启处理图片。即下载对应的本博客的图片,并且替换相应的图片地址为相应参数的所设置的地址。
-w–wpPicPathhttp://localhost/wp-content/uploads/pic图片替换地址。其中BLOG_USER是从输入的地址中提取出来的当前博客的用户名。
-o–processOtherPicyes开启处理其他(网站的)图片。如果发现帖子内容中包含其他网站的图片,则也下载下来,并替换为相应地址。
-r–wpOtherPicPath${wpPicPath}/other_site其他图片替换地址:类似于“图片替换地址”。默认为“图片替换地址”/other_pic
-n–omitSimErrUrlyes是否自动忽略处理那些和之前处理过程中出错的图片地址类似的图片:yes或no。默认为yes。即,自动跳过那些图片,其中该图片的地址和之前某些已经在下载过程中出错(比如HTTP Error)的图片地址很类似。注意:此选项只有在processPic=’yes’的情况下才有效
-g–googleTransyes是否执行google翻译:yes或no。通过网络调用google的api,将对应的中文翻译为英文。包括:将帖子的标题翻译为英文,用于发布帖子时的固定链接(permanent link);将帖子的分类,标签等翻译为对应的英文,用于导出到WXR文件中。此功能的好处,就三个字,你懂的~
-a–postPrefAddrhttp://localhost/?p=帖子导出到WXR时候的前缀,默认为http://localhost/?p=,例如可设置为:https://www.crifan.com/?p=
-x–maxXmlSize2097152导出的单个WXR文件大小的最大值。超出此大小,则会自动分割出对应的多个WXR文件。默认为2097152=2MB=2*1024*1024。如果设置为0,则表示无限制。
-y–maxFailRetryNum3当获取网页等操作失败时的重试次数。默认为3。设置为0表示当发生错误时,不再重试。
-v–postTypeToProcess 要处理哪些类型的帖子:publicOnly,privateOnly,privateAndPublic。注意:当设置为非publicOnly的时候,是需要提供对应的用户名和密码的,登陆对应的博客才可以执行对应的操作,即获取对应的private等类型帖子的。
-t–processTypeexportToWxr对于相应类型类型的帖子,具体如何处理,即处理的类型:exportToWxr和modifyPost。

exportToWxr是将帖子内容导出为WXR;

modifyPost是修改帖子内容(并提交,以达到更新帖子的目的),注意需要设置相关的参数:username,password,modifyPostPatFile.

-d–modifyPostPatFile修改帖子的模板,即需要更新的帖子的新的内容。支持相关参数。注意,需要输入的配置文件是UTF-8格式的。支持的格式化参数包括: ${originBlogContent}表示原先帖子的内容;${titleForPublish}表示用于发布的帖子的标题,即翻译并编码后的标题,该标题主要用于wordpress中帖子的永久链接;${originalTitle}表示原先帖子的标题内容;${quotedTitle}表示将原标题编码后的标题;${postYear},${postMonth},${postDay}分别表示帖子发布时间的年月日,均为2位数字;${category}表示帖子的分类。
-j–autoJumpSensitivePostyes自动跳过(即不更新处理)那些包含敏感信息的帖子:yes或no。默认为yes。比如如果去修改某些百度帖子的话,其会返回 ‘文章内容包含不合适内容,请检查’,’文章标题包含不合适内容,请检查’,等提示,此处则可以自动跳过,不处理此类帖子。

下面详细介绍两大类不同的功能所对应的使用方法,主要是通过例子来说明:

 

【重要提示】

如下,将要介绍的,都是BlogsToWordpress的源码版本的语法。

如果你是用的是

BlogsToWordpress使用前必读

中提到的,可执行文件版本的,请把下面所提到的

BlogsToWordpress.py

换成,对应的可执行文件,比如

windows的:

BlogsToWordpress_v16.9_2013-03-11_noGUI_windows.exe

即可。其他用法,均相同。

 

将博客内容导出为WXR文件

最简洁的用法(非登陆模式下的用法)

示例1:用-s指定博客主入口地址

BlogsToWordpress.py -s http://againinput4.blog.163.com/

含义:

在非登录模式(因为没有传递用户名和密码)下,导出http://againinput4.blog.163.com/的所有(公开发表的)帖子。其他设置均为默认设置,即:

其中,此脚本会自动博客的地址,找到最早发表的那一篇帖子,然后从前往后处理,对于每一个帖子,提取标题,分类,发布时间,所有评论,内容,并且将内容中的本博客的图片和别的图片,都下载下来到当前路径下,并且将原图片地址替换这样的地址

http://localhost/wp-content/uploads/pic/originalPictureName.jpg

导出的WXR文件名是这种:

WXR_Netease_[againinput4]_20120327_1054-0.xml

如果导入WXR超出默认的2MB大小,则会自动分割为多个:

WXR_Netease_[againinput4]_20120327_1054-1.xml

WXR_Netease_[againinput4]_20120327_1054-2.xml

。。。

关于图片

默认会生成以用户名为名字的文件夹,其中会存放博客中所下载下来的图片。

比如此例中会在当前文件夹下生成

againinput4\pic\xxx

againinput4\pic\other_site\xxx

其中xxx是相应的图片。

 

关于如何才能让网站上的图片正常显示,请参看后面的解释:

示例3:用-a添加网站地址前缀和用-w添加对应的图片地址前缀

中的:“如何使得搬家后的wordpress的网站中的图片可以正常显示

 

其他博客类似的用法:

(1)百度空间:

BlogsToWordpress.py -s http://hi.baidu.com/rec_music

(2)新浪博客:

BlogsToWordpress.py -s http://blog.sina.com.cn/crifan2008

其中新浪博客主入口地址,也有另外的表现形式:

BlogsToWordpress.py -s http://blog.sina.com.cn/u/2671017827

(3)QQ空间:

BlogsToWordpress.py -s http://84483423.qzone.qq.com/

也支持其他一些格式:

BlogsToWordpress.py -s http://user.qzone.qq.com/84483423
BlogsToWordpress.py -s http://user.qzone.qq.com/84483423/blog/

另外,也有些人的博客,是自己定制了特殊的名字,而非QQ号码的,例如:

BlogsToWordpress.py -s http://ninaying.qzone.qq.com/

(4)人人网

需要特殊说明的是,目前,对于人人网来说,支持三种模式:

A。登陆(login)模式

对于导出自己的人人网的日志的话,是必须要提供用户名(邮箱)和密码,先登陆,然后才可以导出帖子内容的。

此处称其为登陆模式,即登陆自己的人人网,导出自己的日志。

对应用法举例:

BlogsToWordpress.py -s http://www.renren.com/229351756 -u your_email -p your_password

其中:

229351756:是你自己的人人网的id

your_email:是你人人网登陆所用的邮箱,即用户名

your_password:登陆密码

B。非登陆(unlogin)模式

只不过另外有些特殊的是,有些公共主页,比如豆丁文档,音悦Tai等,是不需要登陆就可以导出的,地址是page类型的地址,此处称其为非登陆模式,即不需要登陆即可导出这些日志。

对应用法举例:

BlogsToWordpress.py -s http://page.renren.com/699092813/note

C。查看朋友(viewFriend)模式

如果想要查看你的人人网上的某朋友的日志,那么必须先登陆自己的人人网,然后再查看朋友的日志。

同理,此处想要导出你的人人网上某朋友的日志的话,也是要先登录自己的,才能导出朋友的日子的。

此处称其为查看朋友模式,即先登陆自己的人人网,然后导出某朋友的日志。

对应用法举例:

BlogsToWordpress.py -s http://blog.renren.com/blog/253362819/friends -u your_email -p your_password

其中:

253362819:是你某个朋友的人人网的Id

your_email和your_password:是你自己的人人网的用户名(邮箱)和密码

(5)CSDN:

BlogsToWordpress.py -s http://blog.csdn.net/v_JULY_v

(6)搜狐sohu:

BlogsToWordpress.py -s http://maoyushi.blog.sohu.com/

(7)博客大巴Blogbus:

BlogsToWordpress.py -s http://littlebasin.blogbus.com

(8)天涯博客

BlogsToWordpress.py -s http://yujing1017.blog.tianya.cn

(9)点点轻博客

BlogsToWordpress.py -s http://hanhan–.diandian.com

 

另外,其实为了兼容性更好,上述-s(以及之后的-f等)所给定的地址,除了上面介绍的标准的地址,其他还支持更多格式的,想要了解细节的,可以去python源码中看到,在此不多举例。

对于一般的普通用户,按照此处介绍标准的地址,即可使用本脚本。

 

示例2:用-f指定从某个帖子开始

BlogsToWordpress.py -f http://againinput4.blog.163.com/blog/static/1727994912010113181332279/

指定从帖子http://againinput4.blog.163.com/blog/static/1727994912010113181332279/ 开始,处理该帖子,以及所有在其之后发表帖子,直到博客的最新的帖子为止,导出所有的帖子的内容到WXR中。其余皆为默认设置。

其他博客类似的用法:

(1)百度空间:

BlogsToWordpress.py -f http://hi.baidu.com/rec_music/item/e1c214c3b824037ecfd4f8aa

(2)新浪博客:

BlogsToWordpress.py -f http://blog.sina.com.cn/s/blog_3d55a9b70100o6x5.html

(3)QQ空间:

BlogsToWordpress.py -f http://user.qzone.qq.com/84483423/blog/1317884747

其中的地址,可以通过,打开了对应的日志后,点击“复制地址”而获得。

(4)人人网:

BlogsToWordpress.py -f http://blog.renren.com/blog/229351756/262929661 -u your_email -p your_password

注:通过人人网日志中的”复制链接“所复制出来的地址,是类似于这样的:

http://blog.renren.com/blog/bp/Qgt_a-CYe0

此复制出来的地址(通过对应的权限设置),是可以被其他人,在不登陆人人网的情况下,访问的。

但是日志显示出来的内容,不包含分类,不包含上一篇和下一篇等内容,所以无法提取日志内容信息,无法用于此处脚本所使用。

而上述的地址:

http://blog.renren.com/blog/229351756/262929661

是必须登录才可以查看的,其中包含对应的分类,上一篇和下一篇等导出日志所必须的信息,所以此处才用此类型的地址的。

(5)CSDN:

BlogsToWordpress.py -f http://blog.csdn.net/morewindows/article/details/7392749

(6)搜狐:

BlogsToWordpress.py -f http://maoyushi.blog.sohu.com/86790907.html

(7)博客大巴Blogbus:

BlogsToWordpress.py -f http://littlebasin.blogbus.com/logs/171413104.html

(8)天涯博客

BlogsToWordpress.py -f http://blog.tianya.cn/blogger/post_read.asp?BlogID=4338249^&PostID=47749663

注意:上述地址中有&符号,需要加上前缀^,变成&,才能正确输入&,脚本程序才能正确获得-f参数的值。

不了解的,详见:

【已解决】Windows的CMD中,如何获得参数中 & (ampersand)之后的值

(9)点点轻博客

BlogsToWordpress.py -f http://hanhan–.diandian.com/post/2012-05-07/17227064

 

示例3:用-a添加网站地址前缀和用-w添加对应的图片地址前缀

BlogsToWordpress.py -s http://hi.baidu.com/serial_story -a https://www.crifan.com/?p= -w https://www.crifan.com/files/pic/serial_story

同示例1,但同时设置导出的帖子的地址为这样的格式:

https://www.crifan.com/?p=xxx,其中xxx为帖子的postId

以及设置替换图片的地址为:

https://www.crifan.com/files/pic/serial_story/xxx

其中xxx为原先图片文件名。

如何使得搬家后的wordpress的网站中的图片可以正常显示

需要满足下列要求:

1.确保你的wordpress网站上面,有和上述所设置的图片的前缀地址相匹配的文件夹存在

比如,上面通过-w所设置的图片的前缀为:

https://www.crifan.com/files/pic/serial_story

如果你原先博客中某图片文件名为my123.jpg的话,那么生成的xml中的图片地址就是:

https://www.crifan.com/files/pic/serial_story/my123.jpg

如果是属于其他网站的名为other456.jpg的话,对应地址就是:

https://www.crifan.com/files/pic/serial_story/other_site/other456.jpg

所以,对于wordpress的网站https://www.crifan.com来说,对应的就要有真实的路径:

files/pic/serial_story

存在。用于存放相应的图片。

类似的,如果是本地的wordpress,一般的网站地址是:

http://localhost/

且很多人常用的用于存放上传的数据的地址是默认的:

wp-content/uploads

所以完成路径就是:

http://localhost/wp-content/uploads

那么使用脚本所传递的-w参数就应该是:

-w http://localhost/wp-content/uploads

其他网站的地址,照葫芦画瓢,传递对应参数即可.

如何给自己的网站创建对应的文件夹

而关于如何给自己的网站,创建对应的路径,即创建文件夹的事情,则不是此处需要详细解释的内容.

此处只简单说说我所知道的方法.

给自己的wordpress中创建文件夹:

(1)如果是本地的http://localhost/类的wordpress,则自己找到自己的apache中的htdocs路径,

比如我的是:httpd-2.2.19-win64\httpd-2.2-x64\htdocs

(此处路径,即为你的wordpress的根目录)然后在其下的建立相应的文件夹即可.

比如在对应的wp-content/uploads下建立一个pic,然后给给-w设置对应参数为:

-w http://localhost/wp-content/uploads/pic

(2)对于在线的个人wordpress网站,则是通过某种方式去管理自己的站点,然后建立相应的文件夹

此处所谓通过某种方式,则是不同的主机商提供的方式都不尽相同。

我此处用的是hostmonster的主机,则至少有两种方式:

A。登陆管理工具cpanel,通过里面的文件夹浏览功能,可以新建对应的文件夹

B。在本地pc通过ftp工具(如filezilla)登陆(之前已经建立好的某)ftp账号,其有对应的创建文件夹的权限,即可创建相应的文件夹。

2.把脚本所抓取出来的图片,上传到上述-w参数所指定的位置即可。

确保网站有此路径了。

然后就是把脚本所生成的图片上传上去即可。

比如此处例子中,会生成serial_story文件夹,其下包含对应的图片,比如:

serial_story\pic\my123.jpg

serial_story\pic\other_site\other456.jpg

然后你就可以把serial_story\pic下面的所有文件,都拷贝到你网站上的:

https://www.crifan.com/files/pic/serial_story/

就可以和之前xml中的图片地址:

https://www.crifan.com/files/pic/serial_story/my123.jpg

https://www.crifan.com/files/pic/serial_story/other_site/other456.jpg

相匹配了。

另外,如果图片还不能显示,请自行确认路径的访问权限和图片是否存在。

 

【提示】

如果你本身想要把博客搬家到某在线网站,比如www.yourname.com,但是使用本程序没有指定-w参数为对应的值,则生成的xml中的图片地址,自然是以本地的地址,如http://localhost/wp-content/uploads/所开头的,此时,你即使把xml导入了你在线的网站,此时图片也自然是显示不了的。

所以,如果是将博客搬家到某个在线的网站,且需要图片正确显示,则记得要使用-w指定对应的图片地址前缀,以及确保该地址路径是真实有效的,以及确保图片上传到了对应的位置了,如此,图片才可以正常显示。

 

其中-s,同样可以改为-f,即从你所需要指定的某个帖子开始处理。

其他博客的用法都很类似,不多举例。

 

示例4:用-l指定只处理特定数目的帖子

BlogsToWordpress.py -f http://againinput4.blog.163.com/blog/static/1727994912010113181332279/ -l 10

指定从帖子http://againinput4.blog.163.com/blog/static/1727994912010113181332279/ 开始,(设置Limit为10)只处理10个帖子,将其内容导出为WXR文件。

对于startFrom,limit参数,一般用于只指定导出某一段的帖子,或者用于测试用途。

此选项还有一个可能会遇到的用法,那就是对于某些个别帖子,由于帖子本身特殊性,或者由于程序有bug,而无法顺利导出,则可以通过前面的-f和此处的-l参数,来实现跳过某个帖子,只提取某段帖子等功能,避开出错的帖子,就可以继续实现导出帖子的功能了。

同理,上述-f可以改为对应的-s。

同理,-l也可用于(下面所要介绍的登陆模式下的)修改帖子的处理。

上述几种用法,对于下面的提供了用户名和密码的登陆模式下,亦是同样使用方法。

带用户名和密码的登陆模式

示例1:通过-u和-p指定用户名和密码,以登陆博客并处理帖子

BlogsToWordpress.py -s http://hi.baidu.com/serial_story -v privateAndPublic -u againinput4 -p xxx

含义:

在提供了用户名againinput4和密码xxx的前提下,即登陆模式下,登陆(百度空间)博客,导出百度空间http://hi.baidu.com/serial_story/中的所有的帖子,包括公开的帖子,只有博友可查看的帖子,和私人的帖子,到WXR文件。其他均为默认设置。

注意:

对应的导出的帖子:

公开日志,WXR中帖子的类型为public;

私人日志,WXR中帖子的类型为private;

(暂时不单独考虑好友可见/博友可见的类型,只将其视为公开类型帖子一并处理);

其他博客类似用法:

(1)网易163博客

BlogsToWordpress.py -a https://www.crifan.com/?p= -w https://www.crifan.com/files/pic/green_waste -s http://green-waste.blog.163.com/blog/ -u [email protected] -p xxx

注意,网易的用户中,还有一些是非163.com的,比如yeah.net的:

BlogsToWordpress.py -a https://www.crifan.com/?p= -w https://www.crifan.com/files/pic/againinput4_yeah -s http://blog.163.com/againinput4@yeah/ -u againinput4@yeah.net -p xxx

即,163的登陆用户名,一般是邮件全名,比如上面的[email protected][email protected]等。

[email protected] 对应的博客地址是这样的形式:http://blog.163.com/againinput4@yeah/

[email protected]对应的博客地址是这样的形式:http://green-waste.blog.163.com/blog/

(2)新浪博客和QQ空间暂不支持登陆模式,人人网本身就是登录模式,暂不区分是私人日志还是公开日志,全部都导出。

 

示例2:导出所有(公开和私人)的帖子

上述用法,默认只处理公开发表的帖子,即public的帖子,如果想要导出所有帖子,那么加上对应的-v privateAndPublic如果再加上对应的-a和-w,就是这样的用法:

BlogsToWordpress.py -s http://hi.baidu.com/serial_story -a https://www.crifan.com/?p= -w https://www.crifan.com/files/pic/serial_story -v privateAndPublic -u againinput4 -p xxx

同示例1,但同时设置对应导出帖子地址前缀和导出图片的替换地址的前缀。

示例3:只导出私人日志

BlogsToWordpress.py -s http://hi.baidu.com/serial_story -v privateOnly -u againinput4 -p xxx

同示例1,但只是导出私人类型的日志。

修改帖子内容

示例1:提供用户名和密码以及修改帖子的模板,以修改帖子

BlogsToWordpress.py -s http://hi.baidu.com/serial_story -z modifyPost -d modifiedPostPattern_Baidu_serial_story.txt -u againinput4 -p xxx

通过给定的用户名和密码登陆百度空间,然后对于每一个帖子,都去将原先的内容,修改为modifiedPostPattern_Baidu_serial_story.txt 所指定的格式的内容。

其中,当前文件夹下,必须有modifiedPostPattern_Baidu_serial_story.txt文件,并且modifiedPostPattern_Baidu_serial_story.txt 文件要是UTF-8的格式的。

此例子中的modifiedPostPattern_Baidu_serial_story.txt 的内容是:

<P><SPAN style="BACKGROUND-COLOR: #ffff99">----------------------------------搬家声明--------------------------------------</SPAN></P>
<P><SPAN style="BACKGROUND-COLOR: #ffff99">本博客已搬家至个人网站 </SPAN><A href="https://www.crifan.com/" target=_blank><STRONG><SPAN style="BACKGROUND-COLOR: #ffff99; COLOR: #ff0000">在路上 - On the way</SPAN></STRONG></A><SPAN style="BACKGROUND-COLOR: #ffff99">&nbsp;下面的&nbsp;<STRONG><A href="https://www.crifan.com/category/work_and_job/" target=_blank><SPAN style="COLOR: #ff0000">技术</SPAN></A></STRONG>&nbsp;分类。</SPAN></P>
<P><SPAN style="BACKGROUND-COLOR: #ffff99">你可以通过点击&nbsp;<STRONG><A href="https://www.crifan.com/?s=${quotedTitle}&amp;submit=Search" target=_blank><SPAN style="COLOR: #ff0000">${originalTitle}</SPAN></A></STRONG>&nbsp;找到当前帖子的新地址。</SPAN></P>
<P><SPAN style="BACKGROUND-COLOR: #ffff99">----------------------------------搬家声明--------------------------------------</SPAN></P>
${originBlogContent}

关于其中的参数含义,举例说明,比如对于这个帖子:

将Eclipse中的代码着色设置尽量地接近Source Insight

对应的提取出来的帖子的相关信息是:

${originalTitle} = 将Eclipse中的代码着色设置尽量地接近Source Insight

${quotedTitle} = %E5%B0%86Eclipse%E4%B8%AD%E7%9A%84%E4%BB%A3%E7%A0%81%E7%9D%80%E8%89%B2%E8%AE%BE%E7%BD%AE%E5%B0%BD%E9%87%8F%E5%9C%B0%E6%8E%A5%E8%BF%91Source+Insight

${originBlogContent} = 在Windows系统中,为了使用免费的可以用于查看代码的软件,装了Eclipse(此处已省略,即帖子原始内容所对应的html源码)

然后修改后的效果如下所示:

搬家声明的效果

其他人,想要添加自己相关的内容,可参考上面的那个modifiedPostPattern_Baidu_serial_story.txt文件,自己照葫芦画瓢的修改一下即可。

关于其他支持的参数,参考上面的参数列表或脚本中的-h参数说明。

关于其他博客:

(1)目前除了百度空间(新版和旧版)和网易163博客(需要手动输入验证码)之外,暂不支持其他博客的修改帖子内容的功能。

发表我的评论
取消评论

表情

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

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

网友最新评论 (81)

  1. CSDN博客置顶的时候无法向下找,求解决
    nike0good11年前 (2013-04-21)回复
    • 没看懂你的意思。
      crifan11年前 (2013-04-22)回复
      • 收入的文章按照时间顺序收录时,一旦收录某篇置顶的文章,之后写的没置顶的文章都不会被收录
        nike0good11年前 (2013-04-22)回复
  2. 我使用命令:BlogsToWordpress_v16.9_2013-03-11_noGUI_windows -f http://blog.csdn.net/musicvs/article/details/7530103 文章能正确导出来,但是图片总是导不出来,报LINE 1590 : WARNING Process picture failed.错误。 不知道这个问题如何解决?~
    笨木头11年前 (2013-03-14)回复
    • 已发布最新的v17.0了源码版本,已解决了此问题了。
      crifan11年前 (2013-03-15)回复
      • 博主好热心,十分感谢。 只是,我使用了v17.0版本,仍然出现突破无法导出的问题。 我尝试查看源码,发现博主对CSDN图片定义的格式是:http://my.csdn.net/uploads/。 而实际上CSDN图片的格式应该是:http://img.my.csdn.net/uploads。(头部有img) 我想尝试自己修改,但我对python脚本不熟悉。 无奈只能打扰博主,希望能再次确认一下,十分感激。
        笨木头11年前 (2013-03-15)回复
        • 1.我发布新版之前,就已经测试你给的: BlogsToWordpress.py -f http://blog.csdn.net/musicvs/article/details/7530103 确定是可以:识别图片并下载和导出的。 2.图片地址,我调试得到的结果,就是: http://my.csdn.net/uploads/201205/03/1336005998_9131.png 而不是 http://img.my.csdn.net/xxx 而且程序也经过验证,是可以正常工作的。 3.如果你的出错了,请给出具体信息: 你用的什么命令测试的 执行到哪里出错 哪个帖子中的哪张图片无法识别 等等,我才能帮你解决。
          crifan11年前 (2013-03-15)回复
          • 我使用的命令也是:BlogsToWordpress.py -f http://blog.csdn.net/musicvs/article/details/7530103 出错的信息仍然是导出图片失败,如: LINE 943 : INFO Title = 【LGame入门学堂006.精灵传说】我是定时器 LINE 998 : INFO Extracted comments: 4 LINE 674 : WARNING Process picture failed. 图片的地址,我尝试在脚本里打印日志,fd1=img,fd2=my,fd3=csdn(fd3是我自己加上去的变量),因此我才误以为博主地址错误了,呵呵。 但是,直接在浏览器里输入http://my.csdn.net/uploads/201205/03/1336005998_9131.png,是无法打开图片的。 而输入http://img.my.csdn.net/uploads/201205/03/1336005998_9131.png却可以打开图片。 我也在博客日志里查看了图片属性,图片地址确实有img开头。 麻烦博主再次确认,谢谢哈~
            笨木头11年前 (2013-03-15)回复
            • 1.去用: IE9(9.0.8112) Firefox(19.0.2) 都可以正常打开你所说的: http://my.csdn.net/uploads/201205/03/1336005998_9131.png 2.同样,用 IE9(9.0.8112) Firefox(19.0.2) 都去看了你的 http://blog.csdn.net/musicvs/article/details/7534424 (注:烦请以后不要让我自己再去找帖子地址,你就不能顺便贴上???) 查看到的图片的地址,都是 http://my.csdn.net/uploads/201205/04/1336105253_2233.png http://my.csdn.net/uploads/201205/04/1336105269_6762.png 也都是可以正常显示的。 3.并且还试了: 不论是在IE9还是Firefox中,是(用我自己的csdn账号)登陆cdsn,还是未登陆cdsn,都是可以正常打开上述网页,都是可以直接查看对应图片的。没有任何异常。 4.所以: 不知道,你用的是什么特殊的浏览器,为何无法查看到正常的图片的地址,以及无法直接打开cdsn的图片。
              crifan11年前 (2013-03-15)回复
              • 博主查看的那个帖子,我去确认了一下,图片地址确实是my开始,十分抱歉,是我没有弄清楚。 我之前测试的帖子是这个:http://blog.csdn.net/musicvs/article/details/8567220。 这个帖子的图片地址确实是img开始的。 最后,我终于找到我的问题所在了,博主的工具不能放在中文目录下,是我小白了,哈哈~ 不知道博主在文章里有没有提及中文目录的问题,如果没有,希望博主加上去,避免其他和我一样的小白犯同样的错误。
                笨木头11年前 (2013-03-15)回复
                • 1.请避免以后再犯类似问题,否则会浪费彼此时间。 2.如你所见,当你知道了,图片地址可能是: http://img.my.csdn.net/uploads/201302/03/1359885129_4663.png 那么你就可以把原先代码改为: #(1) hi.csdn #(2) http://my.csdn.net/uploads/201205/03/1336005998_9131.png if ((fd1=='hi') or (fd1=='my')) and (fd2=='csdn'): 改为: #(1) hi.csdn #(2) http://my.csdn.net/uploads/201205/03/1336005998_9131.png #(3) http://img.my.csdn.net/uploads/201302/03/1359885129_4663.png if (((fd1=='hi') or (fd1=='my')) and (fd2=='csdn')) or ((fd2=='my') and (fd3=='csdn') ): 即可。 3.之前还真没有提及中文目录的问题。 既然你遇到了,下次我会更新说明文档,加上这条的。 4。你还没有回答我的问题: 你是用的什么浏览器,具体版本是多少(而导致打不开那个csdn的图片的)?
                  crifan11年前 (2013-03-15)回复
                  • 我已经说了,由于是中文目录导致你的程序有问题,所以所有的图片都无法导出。 之前的错误信息我只是随便截取其中一段(于是博主就去找那篇日志= =),而图片地址我是从http://blog.csdn.net/musicvs/article/details/8567220这个帖子取的,这个帖子的图片地址有img开头,如果去掉img就打不开图片。仅此而已... 反正就是中文目录的问题,已经解决了。 博主脾气有点急,我也是搞开发,博主多笑笑,心情会好点~嘿嘿
                    笨木头11年前 (2013-03-15)回复
                    • 1.你之前说的: “但是,直接在浏览器里输入http://my.csdn.net/uploads/201205/03/1336005998_9131.png,是无法打开图片的。” 我的理解是: 你用了,某种浏览器,在地址栏里面,输入: http://my.csdn.net/uploads/201205/03/1336005998_9131.png 但是却无法打开和显示该图片, 请问理解的是否对? 如果理解的是对的,那么才有: 想问你的是何种浏览器。 注: (1)我之前不知道,你说的这个图片地址,是被你去掉了my后的地址。 (2)现在已经知道了,该地址是你去掉my后的地址。 (3)即便是,去掉了my后的图片地址,按照你举的例子: http://my.csdn.net/uploads/201205/03/1336005998_9131.png 我此处,也还是IE和Firefox,都可以正常的打开的。 所以,才有此疑问,要问你用的啥浏览器的。 (4)假如: 你自己没去用浏览器测试,你给我的: http://my.csdn.net/uploads/201205/03/1336005998_9131.png 这个图片地址,是否能在你的浏览器上面正常打开,然后就直接说打不开。 我想,估计,你不会由此不负责任的做法。您说是不是? 我想,您也应该是,自己的确用浏览器打开了: http://my.csdn.net/uploads/201205/03/1336005998_9131.png 而出现打不开的情况,才来问我的,是吧? 2.我又去,你所说的: http://blog.csdn.net/musicvs/article/details/8567220 去找到了该图片,原地址是: http://img.my.csdn.net/uploads/201302/03/1359885129_4663.png 按照你所说的,去掉img,变成: http://my.csdn.net/uploads/201302/03/1359885129_4663.png 实测结果也还是,IE和Firefox,都是可以打开的。 综上所述,才很奇怪,你用的什么特殊浏览器?为何打不开对应的图片?
                      crifan11年前 (2013-03-15)
  3. 我的系统是英语的,题目都是乱码
    Neysa11年前 (2013-03-06)回复
  4. 感谢Bolgtowordpress的开发,使用了下,做极客的感觉不错(其实是找到了捷径:譬如去转移点点博客时,就找到源代码Blogdiandian.py,从里面找一个开发者测试的博客所使用的模板,然后...就等B2W搞定了),再次感谢!
    Commars11年前 (2013-03-03)回复
  5. 提示这个:File "C:\Users\NXQ\Desktop\REMOVE\BlogsToWordpress.py", line 113, in from string import Template,replace;
    AMOI11年前 (2013-01-04)回复
    • 1.估计你说的是 from string import Template,replace; 的部分出错吧? 2.如果是上面那个部分报错,估计你的是python 3.x版本的问题。 简答: 参考本文开头的: BlogsToWordpress使用前必读 去重新安装Python 2.7.2。 然后再运行脚本就可以了。 3.以后,建议你: (1)希望以后再提问的时候,把对应的错误信息贴完整了。否则别人不是神仙,不知道问题细节,是很难帮你的。 (2)看帖认真:我本文开头都用红色字体提示了:BlogsToWordpress使用前必读; (3)听作者的话:我的“BlogsToWordpress使用前必读”中是要求你安装python 2.7.2,你应该安装我的要求去安装对应版本才对。 否则你用了其他版本,即使不是这个错误,也可能出现其他版本不兼容。这样是浪费你自己时间,你说呢?
      crifan11年前 (2013-01-04)回复
  6. 表示经常卡主不动。。。我用的是新版百度空间。。。我加上了-g -b -c的no了都
    Isaacpei12年前 (2012-11-23)回复
    • 1.你都没有给我你的百度地址,害得我还要专门去找。 2.幸好找到了。 刚专门去测试了: BlogsToWordpress.py -s http://hi.baidu.com/new/isaacpei/ 现象是:速度不要太快。 结论是:估计还是你自己的网速慢,或者网络不稳定,导致你的卡死。和我程序,貌似没关系。 不过,貌似程序处理到: http://hi.baidu.com/isaacpei/item/5192bfd6eb508a53d63aaed3 时,找不到标题而报错。 这个算bug,等抽空会尽快修复的。
      crifan12年前 (2012-11-24)回复
  7. 站长,你好啊,有什么能把博客的转到百度的方法吗
    三日月12年前 (2012-11-19)回复
    • 你指的是,从wordpress的个人网站,搬家到百度的轻博客? 如果是,那么答案是: 1.我专门到轻博客中找了,没发现有什么好办法。 因为好像百度轻博客貌似没有提供啥搬家工具,所以没法方便的导入。 2.个人对于你想要搬家到百度轻博客的行为,不支持。 度娘的东西,能少用则少用。 如果非要用轻博客,不如考虑网易163的LOFT,点点轻博客等地方,也比百度的轻博客好。 个人建议,仅供参考。
      crifan12年前 (2012-11-19)回复
      • 个人因为公司的一些同事我觉得给他们用这个百度的在百度搜索出来的机几率大些,我自己的话自己站弄弄算了
        三日月12年前 (2012-11-20)回复
  8. 导入人人日志时,总是提示输入验证码错误,我都已经用浏览器登陆退出多次了,还是没用。怎么办呢? 不仅在mac上如此,换了windows还是如此。。。。 求助啊
    sidong12年前 (2012-09-03)回复
    • 1."导入人人日志时"是啥意思?是把导出笔误写成导入,还是其他什么意思? 2.如果是导出人人日志,我这里用我自己的账号去测试,是正常的,没有验证码的问题的。 3.没有你的账号,密码等信息,我想帮也没法帮啊,你说是不是?话说账号密码你也不会随便给别人的。所以,一种办法是,如果信得过我,你给我发邮件,把你的账号和临时修改用于测试的密码给我,我用完了,再通知你改回去。 我的邮箱是 admin (at) crifan.com
      crifan12年前 (2012-09-03)回复
      • off course I will trust you 🙂 just send you my account info thanks
        sidong12年前 (2012-09-03)回复
  9. 每次都提示 No module named chardet 可我确实安装了阿 而且也放到了正确位置 求助阿
    sidong12年前 (2012-08-31)回复
    • 解决办法:下载我刚刚发布的最新的版本。 原因:最新版本已包含chardet,无需你再下载安装。 深入分析:你下载了最新版本的chardet-1.1.tar.gz解压后,其实只要把chardet-1.1中的chardet文件夹,整个的都拷贝到python安装目录\Lib\site-packages下即可。估计你是把chardet-1.1整个拷贝过去了,所以才出错的。 其实我的“BlogsToWordpress使用前必读”中,已经详细解释了如何安装,如果你更仔细看我的解释,相信是可以避免此问题的。
      crifan12年前 (2012-09-01)回复
      • 太感谢了 用新版本已经把新浪搬家了 多谢多谢 现在准备导入人人呢 不过有将近1千日志 希望不会出问题 呵呵
        sidong12年前 (2012-09-01)回复
        • 应该没问题的。 即使出了常见的问题,可以去参考我的很多帖子,找到解决办法。 可以通过本网站中搜Wordpress Importer找到那些帖子。 实在还搞不定,我再帮你。
          crifan12年前 (2012-09-01)回复
  10. 感觉-w这个参数有点多余了,图片显示可以在备份xml后,通过编辑xml文件,自己用已有的域名替换以前的域名,从而修改图片的绝对路径,这样一次备份,多次使用,只要随时替换路径就可以了,博主可以将这个方法加到脚本使用举例中去,方便其他人
    ksharpdabu12年前 (2012-08-25)回复
    • 首先感谢提的建议,不过此建议,个人认为没什么必要将此条内容加入脚本使用举例中,因为: 1.直接手动替换,存在潜在风险 先说这第一个,也是最重要的考虑。 之所以加-w参数,一个考虑就是,为了防止出现,如果我的帖子内容中出现和localhost或者网站网址的前缀所匹配的地址,如果手动去替换,则也会被误换掉,所以直接替换本身,就不是很安全和稳妥的做法,虽然出现此情况不是很多,而且我也没遇到过,但是并不代表之后其他用户可能会遇到,所以,加上-w参数支持前缀替换,是最安全和省事的做法。 2.提供了-w参数,方便用户 所有用户,当然都是希望使用脚本越省事越好。 我也不例外,开始设计脚本时候,也是尽量遵循此原则。 所以,多了-w参数供有需要的人使用,省的其还需要手动替换,就是为了方便用户和第一个用户:我自己。 3.一次备份,多次使用,这个需求用到人很少 据我所能想到的,一次备份多次使用,此需求好像用到的人很少或极少。因为一般人搬家,所谓的多次使用,最多也就是一次使用默认的localhost前缀,然后调试网站没问题后,再上传到在线网站上,此时自己手动替换一次前缀或者用我的-w制定前缀,重新导出一次即可。 4.你说的这个做法,如果是正常有此需求的,自然也会想到 所以,我个人觉得不用再赘述,不需要加入到举例说明中。 毕竟,能有此需求的,肯定是优先考虑使用我提供的-w参数去做,即安全,又省事,为何非要麻烦自己手动去替换呢,你说是不是? 因此,谢谢你的建议,但是此建议不采纳,呵呵。
      crifan12年前 (2012-08-25)回复
  11. 很不错的工具,用这个成功从百度搬家到自己的wordpress,感谢
    lofrank12年前 (2012-06-15)回复
  12. 使用mac报错如下:>>> /BlogsToWordpress_v8.7_2012-05-20/BlogsToWordpress.py -s http://603998008.qzone.qq.com File "", line 1 /BlogsToWordpress_v8.7_2012-05-20/BlogsToWordpress.py -s http://603998008.qzone.qq.com ^ SyntaxError: invalid syntax 请教什么原因
    浅醉12年前 (2012-06-04)回复
    • 1.没用过mac,不清楚。 2.看到你有提到 >>>,所以猜测可能你也是把python的command line,当成了操作系统的command line了(微软的cmd,mac的不知道叫啥),请自行参考: 如何在Windows环境下使用Python脚本 https://www.crifan.com/files/doc/docbook/language_summary/release/html/language_summary.html#id9220050 使用mac的命令行界面试一试,估计可以解决问题。 3.另外,最好给出你的环境的详细信息,比如mac的版本。以及你是拿到源码后的详细的操作步骤,没有足够的信息,别人是没法帮你解决问题的。
      crifan12年前 (2012-06-04)回复
  13. 感谢哦,终于找到这么好的搬家方法了。可是我发现如果博客文章很多(比如3万篇)的话,下载太慢了,一个钟头才下载了几百篇。而且还容易卡住在某一篇不动了,不找到什么原因,但是这样已经下载过的它没有保存下来,只能重新下载了。所以一直没有下载成功。 没有blog_backup下载的快,但是blog_backup也下载不全。 现在我采取加参数,每次分段下载100篇,下载完了再继续下载另外100篇,希望可行。
    taoke7112年前 (2012-05-21)回复
    • 1. 觉得速度慢的话,可以通过加参数“-g no”,“-b no”,“-c no”禁止掉相应功能,以实现加速帖子处理过程。 2. blog_backup速度不比我的脚本速度快。 3. 遇到有问题帖子,或者帖子太多中间断掉,可以通过-f和-l参数组合来分段处理。 上述内容的具体解释已都添加至: BlogsToWordPress使用前必读 https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/before_use/
      crifan12年前 (2012-05-21)回复
  14. 你好,站长,我使用你的BlogToWordPress工作将新浪博客转移至WordPress平台,但是发现有一些问题需要请教。我下载了blogs-to-wordpress_v8.4_2012-04-24.7z,解压后放到了C盘wp文件夹下,运行python(command line)后输入c:\wp>BlogsToWordpress.py -s http://blog.sina.com.cn/lifecoaching命令,但是提示以下错误: >>> c:\wp>BlogsToWordpress.py -s http://blog.sina.com.cn/lifecoaching File "", line 1 c:\wp>BlogsToWordpress.py -s http://blog.sina.com.cn/lifecoaching ^ 烦请协助解决,谢谢。
    世风12年前 (2012-05-17)回复
    • 去看刚写的: 如何在Windows环境下使用Python脚本 https://www.crifan.com/files/doc/docbook/language_summary/release/html/language_summary.html#id9220050 注:已将此部分内容,添加到: BlogsToWordPress使用前必读 https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/before_use/
      crifan12年前 (2012-05-17)回复
  15. 谢谢你,正要搬家,在网上搜到的脚本失效,还好看到你的评论。谢谢。
    小幻12年前 (2012-05-14)回复
  16. 辛苦你了。你的方法是在Mac上最简单快捷的。不过要用Python去运行的话,很多人应该都不会……可恶的是我上学期才学了Python,现在连运行都不会了……我觉得你可以考虑一下把上面那个人的评论加在正文里,针对Mac用户。
    Kirais12年前 (2012-04-26)回复
  17. also nice comments, especially for Mac user.
    crifan12年前 (2012-04-23)回复
  18. Pretty nice blog. For those who are new to Python on Mac, Installing the packages that the authors mentioned in the blog. The package "chardet" should be pasted to the folder "/Library/Python/2.7/site-packages/" (To go to this fold, right-click/two-finger-click on the icon "Finder", copy the path, then enter.) . Open the terminal, type "python" , then drag the file "BlogsToWordpress.py" to the terminal windows, then type the command in the above blog, which is associated with your blog. then you are good to go. Thanks for the author's excellent work.
    Yi12年前 (2012-04-23)回复
    • Thank you very much for the comment! I am using the Mac and not very familiar with Python.
      Kirais12年前 (2012-04-26)回复
87 queries in 0.173 seconds, using 22.31MB memory