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博客 通常来说技术人员都会创建个自己的技术博客,总结下工作中的问题,经验等等,不过某些博客的访问链接的确是不太容易记忆或者输入,对我们分享造成一定的 ...
随机推荐
- go语言基础之不同作用域同名变量
1.不同作用域同名变量 示例: package main import "fmt" var a byte //全局变量 func main() { var a int //局部变量 ...
- 如何通过.reg文件来修改注册表键和子键以及键值
无废话, 直接上例子, 自己运行一下便知. 然后根据自己需要改改就可以随便用了. 添加key, subkey, 和设置键值的例子. ==================== Windows Reg ...
- popupWindow 用法总结 控制位置
android中的dialog,以及activiy形式的dialog均是模态对话框,对话框不消失时,不能对其他页面进行操作,也就是其他页面不能获得焦点.而PopupWindow是非模态对话框,对话框显 ...
- 13个 ASP.NET MVC 的扩展
ASP.NET MVC设计的主要原则之一是可扩展性.处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的.因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏 ...
- SQL Alias
There are two types of aliases that are used most frequently in SQL command: which is column alias a ...
- RS布局问题之块的不完美之完美
早上一来,便传来喜讯...说我们做的报表太美.客户不敢看----于是便开启征程,亲自尝试了一把,如下面的操作,首次运行报表,在不考虑UI美观度的情况下,报表还是 在预测范围内显示的 那么接下来我们选择 ...
- Android之横屏竖屏显示问题
1.採用不同的布局文件 在res下创建目录layout-land 在该目录下写入的layout(xml文件)横屏的时候系统自己主动选择显示的layout 同理: 在res下创建目录layout-por ...
- 依据硬件设备配置高性能的Nginx
Nginx的高级配置会涉及硬件,假设配置不好,会直接让性能下降好多好多. 我这里总结一下,怎样依据server的硬件设备来配置Nginx. 见下图: 低訪问量的网络,能够这样配置. 标准的网络訪问量, ...
- 用thinkphp操作session
写了一段代码,对session进行一些常用的操作: <?php namespace Home\Controller; use Think\Controller; class Demo1Contr ...
- Linux 安装tomcat 及过程中遇到的问题
Linux 安装tomcat(tomcat能用的前提是系统已经安装jdk) 1.下载linux系统版tomcat,解压后通过ftp上传到Linux服务器 例:tomcat放在 /opt/tom ...