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

BlogsToWordPress 的用法的举例说明

crifan 19039浏览 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. 搜狐博客的是不是没法用了?报错说Can not find the first link for http://houshinengi.blog.sohu.com/
    妲己5年前 (2019-04-09)回复
    • 嗯 等以后有空再更新吧
      crifan5年前 (2019-04-10)回复
  2. 好崩溃~我试用了一下,却不知道博客的文件采集下来以后去了哪儿。上文介绍里非常困难的发现说是导出WXR文件,但是我电脑本地当前目录只新建了图片的文件夹;那么那些WXR呢?
    jerry8年前 (2016-05-04)回复
  3. 我发现网易的只能导出两篇文章,一个是第一篇文章,然后就是心情随笔,然后没了。qq空间的说识别不了第一篇文章
    小小白9年前 (2015-03-19)回复
  4. 好苦逼,特意换了一个32位的xp系统,安装了py,还是错误 LINE 1539 INFO Current runtime info: LINE 1540 INFO Paramenters : ['d:\\\xce\xd2\xb5\xc4\xce\xc4\xb5\xb5\\Downloads\\BlogsToWordpress_v18.3_2014-05-23\\BlogsToWordpress.py'] LINE 1541 INFO Python version : sys.version_info(major=2, minor=7, micro=2, releaselevel='final', serial=0) LINE 1544 INFO platform.machine()=x86 LINE 1545 INFO platform.node()=la LINE 1546 INFO platform.platform()=Windows-XP-5.1.2600-SP3 LINE 1547 INFO platform.processor()=x86 Family 16 Model 6 Stepping 2, AuthenticAMD LINE 1548 INFO platform.python_build()=('default', 'Jun 12 2011 15:08:59') LINE 1549 INFO platform.python_compiler()=MSC v.1500 32 bit (Intel) LINE 1550 INFO platform.python_branch()= LINE 1551 INFO platform.python_implementation()=CPython LINE 1552 INFO platform.python_revision()= LINE 1553 INFO platform.python_version()=2.7.2 LINE 1554 INFO platform.python_version_tuple()=('2', '7', '2') LINE 1555 INFO platform.release()=XP LINE 1556 INFO platform.system()=Windows LINE 1558 INFO platform.version()=5.1.2600 LINE 1559 INFO platform.uname()=('Windows', 'la', 'XP', '5.1.2600', 'x86', 'x86 Family 16 Model 6 Stepping 2, AuthenticAMD') LINE 1566 INFO Default encoding : ascii LINE 1567 INFO Current path : d:\Python27 LINE 1600 INFO 版本信息:v18.3 LINE 1601 INFO 1.如果脚本运行出错,请务必把上述(1)从脚本开始运行到上述所打印出来的系统信息(2)出错时候的相关信息(3)脚本所生成的BlogsToWordpress.log文件,通过复制粘贴、截图、附件等方式 LINE 1602 INFO 发送至admin(at)crifan.com或跟帖(下面有地址)回复,否则如果没有足够的错误相关信息,我就是想帮你解决问题,也没法帮啊! LINE 1603 INFO 2.如对此脚本使用有任何疑问,请输入-h参数以获得相应的参数说明。 LINE 1604 INFO 3.关于本程序详细的使用说明和更多相关信息,请参考: LINE 1606 INFO BlogsToWordPress:将(新版)百度空间,网易163,新浪Sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress LINE 1607 INFO https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/ LINE 369 INFO -------------------------------------------------------------------------------- LINE 1648 INFO Your process type of post is: Export post to WXR(WordPress eXtended Rss). LINE 1709 ERROR Must designate the entry URL for the first blog item ! LINE 1710 ERROR 解决办法:指定对应的-f或-s参数。详见: LINE 1711 ERROR BlogsToWordPress 的用法的举例说明 LINE 1712 ERROR https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/usage_example/ LINE 1991 ERROR Unknown Error ! Traceback (most recent call last): File "d:\ϒքτյ\Downloads\BlogsToWordpress_v18.3_2014-05-23\BlogsToWordpress.py", line 1989, in main(); File "d:\ϒքτյ\Downloads\BlogsToWordpress_v18.3_2014-05-23\BlogsToWordpress.py", line 1713, in main sys.exit(2); SystemExit: 2
    小小白9年前 (2015-03-18)回复
  5. 我试了一下 导出qq空间似乎不能用了. LINE 912 : INFO [0001] http://user.qzone.qq.com/84483423/blog/1317884747 LINE 1089 : ERROR Can't get post info dict from blogid 1317884747 LINE 1089 : ERROR Can't get post info dict from blogid 1317884747 LINE 954 : ERROR Can not extract post title for http://user.qzone.qq.com/84483423/blog/1317884747 ! LINE 1991 : ERROR Unknown Error !
    洪伟10年前 (2014-11-10)回复
    • 恩,最近有空会更新程序以支持改动了的QQ空间的。
      crifan9年前 (2014-12-03)回复
      • 其实网易博客QQ空间基本都不能用了,网易博客因为去掉了“上一篇”“下一篇”的字样也是不能用的。
        九条凛9年前 (2015-02-07)回复
        • 抱歉好像不是因为这个原因,但是似乎只能导出一篇
          九条凛9年前 (2015-02-07)回复
  6. 首页表示感谢,你的工作实在是太厉害了。 咨询两个问题: (1)在cmd中使用源码方式:BlogsToWordpress.py -s http://blog.sina.com.cn/yuexiuth2014, 不能运行,请问怎么回事呢?结果如下: Traceback : file "..../*.py", line 174, in from string import Template, replace; ImportError: cannot import name 'replace' (2)写程序调用你的EXE下载,程序运行后有返回值吗,我想获取一些下载信息
    RASOY10年前 (2014-10-15)回复
    • (1)好像你的是Python 3.x的吧? 换用Python 2.x,比如2.7,即可。 (2)没有返回值->应该就是系统默认的,正常无错返回值是0,否则就是负数,表示对应的错误。
      crifan10年前 (2014-10-20)回复
  7. ▶ ./BlogsToWordpress.py -s http://hi.baidu.com/xxxx : 没有那个文件或目录2 BlogsToWordpress_v18.3_2014-05-23 找不到问题所在。
    eexp10年前 (2014-09-25)回复
    • 把截图发我看看呢。
      crifan10年前 (2014-10-06)回复
  8. 采集的时候提示这个错误: Generate tail OK LINE 916 : INFO [0001] http://blog.csdn.net/gogiqp_jyh/article/details/17358439 LINE 995 : INFO Title = js匹配特殊字符正则表达式 LINE 1000 : ERROR Can not extract post publish datetime for http://blog.csdn.net/gogiqp_jyh/article/details/17358439
    jiangyh10年前 (2014-08-12)回复
  9. 请问如何才能开启处理评论和下载图片呢我试了很多次,都只是正文呢。 C:\Python27\log>BlogsToWordpress.exe -f http://user.qzone.qq.com/8*****2/blog/ 1244907415 -c yes -b /pics -w /pics/otherpics 这样可以吗? 感谢!
    莫脱裸啦10年前 (2014-04-12)回复
    • 可能的原因: qq空间更新了,导致我的程序部分失效:检测不到图片了,所以下载不下载了。 办法: 等我抽空再更新。。
      crifan10年前 (2014-04-22)回复
  10. >>> BlogsToWordpress.py -s http://againinput4.blog.163.com SyntaxError: invalid syntax 请问这个是咋回事啊 显示http是invalid syntax
    Fiona10年前 (2014-04-10)回复
  11. LINE 1600 INFO Current runtime info: LINE 1600 INFO Paramenters : ['D:\\zh\\\xcd\xf8\xd7\xac\\\xcd\xf8\xd7\xac\xbe\xf8\xd5\xd0\\BlogsToWordpress.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()=guanxin LINE 1600 INFO platform.platform()=Windows-post2008Server-6.2.9200 LINE 1600 INFO platform.processor()=Intel64 Family 6 Model 58 Stepping 9, 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()=post2008Server LINE 1600 INFO platform.system()=Windows LINE 1600 INFO platform.version()=6.2.9200 LINE 1600 INFO platform.uname()=('Windows', 'guanxin', 'post2008Server', '6.2.9200', 'AMD64', 'Intel64 Family 6 Model 58 Stepping 9, GenuineIntel') LINE 1600 INFO Default encoding : ascii LINE 1600 INFO Current path : C:\Users\zhouhong\AppData\Local\Temp\_MEI154002 LINE 1600 INFO 版本信息:v17.7 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 解决办法:指定对应的-f或-s参数。详见: LINE 1575 ERROR BlogsToWordPress 的用法的举例说明 LINE 1575 ERROR https://www.crifan.com/crifan_released_all/website/python/blogstowordpress/usage_example/ LINE 1575 ERROR Unknown Error ! Traceback (most recent call last): File "", line 1969, in File "", line 1693, in main SystemExit: 2 我用的操作系统是win8,BlogsToWordpress_v17.7_2013-08-27_noGUI_windows_x64
    fabric123dotnet10年前 (2014-02-25)回复
  12. 博主你好,为什么我用这个工具导出点点博客只能导出一篇文章后就停止了?
    lucky11年前 (2013-10-01)回复
    • 估计是你的点点所用的模板特殊,导致我的程序不支持。
      crifan11年前 (2013-10-06)回复
      • 哦,我还看了您列出的几个点点博客,但是我没找到他们的模版,貌似不在官方的模版公园里(http://www.diandian.com/themes/recommendations)于是我又尝试了其他模版,都是带“上一篇”和“下一篇”的模板,最后也都不行,如果博主能针对官方模版公园里的主题写一下程序就太好了,这样比较有通用性。
        lucky11年前 (2013-10-06)回复
        • 1.那你可以,去把你的点点,弄成那个,用的最多的模板: http://theme-preview.1381069380720.tpl.diandian.com/ 2.然后我抽空再更新代码,支持你的点点博客,也就支持了用的最多的这个模板了。
          crifan11年前 (2013-10-06)回复
          • 好的 谢谢啦
            lucky11年前 (2013-10-07)回复
            • 不过我感觉这个主题 http://www.diandian.com/themes/268/show 比较好,因为图片可以保存得大一点,没有被压缩的厉害,仅供参考 呵呵
              lucky11年前 (2013-10-07)回复
              • 你好,我也是点点用户,请问你找到适合搬家的模板了吗?我翻来翻去没有适合的
                beast9年前 (2015-10-15)回复
  13. 我的新浪博客图片也貌似下载不了啊……
    Rocky11年前 (2013-09-13)回复
    • 哦,知道了。。。。。。
      crifan11年前 (2013-09-13)回复
  14. csdn图片下载貌似不行了
    冷子健11年前 (2013-08-15)回复
  15. 非常感谢!!!
    啸傲居士11年前 (2013-08-04)回复
  16. LINE 1660:ERROR Can not find the first link for http://vitacillin.blog.163.com, error=Unknown error! 试验了不同的环境,不同的网站,问题多数出在这里,请问何故?
    chinhant11年前 (2013-05-05)回复
  17. 非常还用, O(∩_∩)O谢谢~
    asunnytiger11年前 (2013-04-28)回复
82 queries in 0.188 seconds, using 22.16MB memory