cnblogs博客迁移到hexo
cnblogs博客备份
备份地址:https://i.cnblogs.com/BlogBackup.aspx?type=1

备份文件为xml格式,打开备份文件,如下所示:
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-</title><link>http://www.cnblogs.com/shijingjing07/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 20 Jan 2017 13:20:14 GMT</lastBuildDate><pubDate>Fri, 20 Jan 2017 13:20:14 GMT</pubDate><ttl>60</ttl><item><title>博客迁移</title><link>http://www.cnblogs.com/shijingjing07/archive/2017/01/16/6290517.html</link><dc:creator>迪米特</dc:creator><author>迪米特</author><pubDate>Mon, 16 Jan 2017 09:44:00 GMT</pubDate><guid>http://www.cnblogs.com/shijingjing07/archive/2017/01/16/6290517.html</guid><description><![CDATA[<p>博客迁移至 <a href="https://shijingjing07.github.io/" target="_blank">https://shijingjing07.github.io/</a></p>]]></description></item><item><title>cookie欺骗</title><link>http://www.cnblogs.com/shijingjing07/archive/2017/01/06/6256622.html</link><dc:creator>迪米特</dc:creator><author>迪米特</author><pubDate>Fri, 06 Jan 2017 07:55:00 GMT</pubDate><guid>http://www.cnblogs.com/shijingjing07/archive/2017/01/06/6256622.html</guid><description><![CDATA[<p>1.什么是cookie欺骗<br />改变cookie的值,发给服务器,就是cookie欺骗。<br />正常情况下,受浏览器的内部cookie机制所限,每个cookie只能被它的原服务器所访问,我们操作不了原服务器。</p>
<p>2.cookie使用示例</p>
<p>index.html 写入cookie {'username':'zhangsan','psw':'123'}</p>
<div class="cnblogs_code">
<pre><span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPE html</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">meta </span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;"> content</span><span style="color: #0000ff;">="text/html; charset=utf-8"</span><span style="color: #0000ff;">/></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">meta </span><span style="color: #ff0000;">charset</span><span style="color: #0000ff;">="utf-8"</span> <span style="color: #0000ff;">/></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">script </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #ff0000;"> src</span><span style="color: #0000ff;">="jquery.min.js"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">script</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">script </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #ff0000;"> src</span><span style="color: #0000ff;">="jquery.cookie.js"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">script</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">script </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #0000ff;">></span><span style="background-color: #f5f5f5; color: #000000;">
$.cookie(</span><span style="background-color: #f5f5f5; color: #000000;">'</span><span style="background-color: #f5f5f5; color: #000000;">username</span><span style="background-color: #f5f5f5; color: #000000;">'</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">zhangsan</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);
$.cookie(</span><span style="background-color: #f5f5f5; color: #000000;">'</span><span style="background-color: #f5f5f5; color: #000000;">psw</span><span style="background-color: #f5f5f5; color: #000000;">'</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">123</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);
</span><span style="color: #0000ff;"></</span><span style="color: #800000;">script</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span></pre>
</div>
<p>运行index.html,通过Chrome F12开发者工具,可以看到cookie信息。</p>
<p><img src="http://images2015.cnblogs.com/blog/300946/201701/300946-20170106155059847-848303078.png" alt="" /></p>
<p>可以看到cookie要和domain域名对应。每个cookie只能被对应的域名所访问,其他域名无法访问。</p>
<p>3.如何进行cookie欺骗</p>
<p>修改hosts,将域名(dev.test.com)对应的ip转为自己的ip(121.43.113.200),写在自己的ip下修改cookie,会发现域名对应的cookie更改了。<br />步骤:<br />1)修改host<br />121.43.113.200 dev.test.com<br />2)将index.html放入服务器121.43.113.200<br />3)访问url:dev.test.com/index.html<br />4)查看cookie信息<br /><img src="http://images2015.cnblogs.com/blog/300946/201701/300946-20170106155240675-1380622233.png" alt="" /><br />5)还原host<br />#121.43.113.200 dev.test.com<br />6)访问url:dev.test.com,会发现dev.test.com中的cookie已被修改。</p>
<p>4.cookie欺骗防止<br />随机码防止cookie欺骗<br />原理:在服务端生成唯一随机码,每次提交cookie时带上随机码,和服务端的随机码校验。</p>]]></description></item></channel></rss>
将备份文件解析为.mk文件
备份文件中每个item节点,对应一篇文章。
将每个item中的title,pubDate,description解析出来,写入.mk文件。
代码如下所示:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import html2text
import xml.sax
import datetime
import sys
reload(sys)
sys.setdefaultencoding('utf8')
class MovieHandler( xml.sax.ContentHandler ):
def __init__(self):
self.CurrentData = ""
self.title = ""
self.pubDate = ""
self.description = "" # 元素开始事件处理
def startElement(self, tag ,attributes):
self.CurrentData = tag
if tag=="item":
self.title = ""
self.pubDate = ""
self.description = "" # 元素结束事件处理
def endElement(self, tag):
if tag == "item":
try:
filename=self.title+".md"
fo = open("D:\\certs\\"+filename,'a')
fo.write( "---\n")
fo.write("title: "+self.title+"\n")
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
writedate=datetime.datetime.strptime(self.pubDate, GMT_FORMAT)
fo.write( "date: "+writedate.strftime('%Y-%m-%d %H:%M:%S')+"\n")
fo.write( "tags: \n")
fo.write( "categories: \n")
fo.write( "---\n")
writedesc=html2text.html2text(self.description)
fo.write(writedesc)
fo.close()
except Exception as error:
print error.message # 内容事件处理
def characters(self, content):
if self.CurrentData == "title":
self.title = content
elif self.CurrentData == "pubDate":
self.pubDate = content
elif self.CurrentData == "description":
self.description += content if ( __name__ == "__main__"): # 创建一个 XMLReader
parser = xml.sax.make_parser()
# turn off namepsaces
parser.setFeature(xml.sax.handler.feature_namespaces, 0) # 重写 ContextHandler
Handler = MovieHandler()
parser.setContentHandler( Handler ) parser.parse("CNBlogs_BlogBackup_1_201701_201701.xml")
程序执行后,在D:\certs目录下就生成了hexo网站需要的.mk文件。
如下所示:

将生成的.mk文件copy到hexo _posts目录下
D:\hexo\source\_posts
重新生成静态文件
hexo c
hexo g
hexo s
在浏览器中打开 http://localhost:4000/
结果如下:

备份文件中没有分类,标签节点,所以无法将这两部分迁移到hexo。
cnblogs博客迁移到hexo的更多相关文章
- Hexo博客迁移
Hexo用户指南 - 博客迁移 GitHub+Hexo搭建博客的过程比较平滑,但是它的配置却非常耗时,一旦电脑出现问题或者需要在另外一台电脑上写博客,那么Hexo博客的迁移非常就让人头疼.下面参考其他 ...
- 利用爬虫爬取指定用户的CSDN博客文章转为md格式,目的是完成博客迁移博文到Hexo等静态博客
文章目录 功能 爬取的方式: 设置生成的md文件命名规则: 设置md文件的头部信息 是否显示csdn中的锚点"文章目录"字样,以及下面具体的锚点 默认false(因为csdn中是集 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...
- 博客迁移至http://www.maxzhang.com,欢迎访问!
博客迁移至http://www.maxzhang.com,欢迎访问!
- 博客迁移至 http://www.loveli.site
对于博客园的Markdow 支持太过...,你懂的, 以后博客迁移至:http://www.loveli.site
- 【博客迁移】hyrepo.com
博客迁移至 www.hyrepo.com
- 把cnblogs变成简书 - cnblogs博客自定义皮肤css样式
吐槽 博客园cnblogs作为老牌的IT技术博客类网站,为广大的开发者提供了非常不错的学习交流平台. 虽然博客内容才是重点,但是如果有赏心悦目的页面不更好吗! cnblogs可以更换博客模板,并且提供 ...
- cnblogs博客申请完毕,以后再这里安家落户
cnblogs博客申请完毕,以后再这里安家落户,之前的博客就不转载了,好好搞技术,安稳过日子.
- 使用自己的域名解析cnblogs博客(CSDN也可以)
本文主要介绍怎样使用自己购买的域名指向cnblogs博客 通常来说技术人员都会创建个自己的技术博客,总结下工作中的问题,经验等等,不过某些博客的访问链接的确是不太容易记忆或者输入,对我们分享造成一定的 ...
随机推荐
- Debian+Pure-ftpd+MySQL+User manager for PureFTPd
1. 安装pure-ftpd.MySQL apt-get purge vsftpd apt-get purge pure-ftpd apt-get purge pure-ftpd-common apt ...
- 非归档数据文件offline的恢复
本文主要介绍非归档模式下offline数据文件的恢复,测试过程如下: SQL> select * from v$version where rownum<3; BANNER ------- ...
- token 案例,只是测试,功能并不完善(只是看看token 到底是何方神圣)
token 简单理解就是 加密 解密的一个过程 JavaWebToken(加密解密工具) public class JavaWebToken { private static Logger log = ...
- 分享六个基于Bootstrap的实用开发教程和模板演示
关于Bootstrap,相信大家一定不陌生,它已经成为现在主流产业的一个重要工具,Bootstrap提供了优雅的HTML和CSS规范,它基于jQuery框架开发的,它在jQuery框架的基础上进行了更 ...
- SQL语言 之 事务控制
一.概述 事务是一些数据库操作的集合,这些操作由一组相关的SQL语句组成(只能是 DML 语句),它们是一个有机的整体,要么全部成功执行,要么全部不执行.事务时数据库并发控制和恢复技术的基本单位. 事 ...
- JQuery 之 跳出循环
1.跳出each循环 return false 跳出循环 return true 进入下一个循环 2.跳出for循环 break;直接退出for这个循环.这个循环将不再被执行! continue;直接 ...
- BLDC之六种霍尔检测换相排序表
/* 1 BLDC 的六种霍尔换相排列表 2 包含正反转 */ //#define BLDC_HALL_CAB //-- //#define BLDC_HALL_CBA //#define BLDC_ ...
- 自己定义UIView以实现自绘
有时候我们须要自绘uiview以实现自己的需求,比方依据坐标点绘制出连续的曲线(股票走势图),就须要自绘uiview了. 原理:继承uiview类(customView),并实现custom view ...
- chrome 谷歌浏览器插件损坏
Axure RP Extension for Chrome已停用 CreateTime--2017年7月4日10:19:34Author:Marydon 参考地址:http://blog.csdn ...
- Qt Multimedia Backends(多媒体后端)翻译
目录 MediaService plugins 媒体服务插件 不同后端支持的媒体播放器功能: 后端支持的摄像头(相机)功能 后端支持的音频解码功能 Audio plugins 音频插件 原文地址: Q ...