希望能在6月10号前正式搬家。
2016-05-30
2016-05-29
Lofter图片搬家
图片已经能够下载了,很好~但是缺一步,那就是把文章中的图片链接换成本地连接。当然不能手动了,用PYTHON来做这件事。
代码大概是这样的。
我的想法是,把所有图片链接全部换成是very9s/lofter/*.png的链接形式。好在图片不是很多。到时候在服务器上就直接在根目录下放个lofter文件夹吧。
看,图片链接已经改了。
/////////////////////////////////////////////////////////////////////////////////////
嗯,搬家差不多可以进行了。现在只要再在一些个别的细节做一些调整就可以了。整体框架已完成。
2016-05-27
Python下载Lofter图片
现在文章已经能够迁移到Hexo了。但是文章里面的图片链接依旧是LOFTER上的,所以也要把图片搬出来。
1-下载图片在原来的程序基础上添加下载图片的代码。
很直接,很单纯。。。直接用urlopen然后write。可是才下载一张就被服务器无情地拒绝了。
我就这么裸奔的跑过去,当然被拒绝了。
查找python的官方文档,发现一句话。解决办法就在这里了。
headers should be a dictionary, and will be treated as if add_header() was called with each key and value as arguments. This is often used to “spoof” the User-Agent header, which is used by a browser to identify itself – some HTTP servers only allow requests coming from common browsers as opposed to scripts. For example, Mozilla Firefox may identify itself as “Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11”, while urllib‘s default user agent string is “Python-urllib/2.6” (on Python 2.6).
——
《urllib.request》
所以我要伪装成浏览器。所以修改代码:
通过添加header来实现
3-大功告成
终于可以快速的下载图片了。图片搬家问题也解决了一大半了。
oh~对了,关于解析博文,由于XML中保持的是HTML数据,所以博文中图片的链接,我是用Beautiful Soup 4.2.0来解析的。
下一步,就是修改XML文件,把博文中的图片链接换成自己的图片链接。
嗯~剩下的下次再来吧。
Lofter搬家Hexo前期工作
搬家的工作,慢慢进行着。不知不觉搬家的主体实验已经做了一大半了。基本上验证了搬家方案的可行性。目前已经成功实验搬到自己的centos7虚拟机上。
1-python编程文章那么多,手动搬家时不可能的了。所以我用python编程,帮我解析Lofter的XML文件,自动生成文章。
目前只是实验性,功能没有完全达到目标。还有实现将Lofter文章中的图片下载到本地上。否则出现这种情况:
生成的文章
2-PSCP上传
用PSCP上传到虚拟机服务器上
嗯,在虚拟机上怎么乱码了?无所谓了,反正文件名也无关紧要
3-Hexo重新生成
访问服务器,发现确实多了多篇文章,但是没有全。只有几篇。还有文章出现乱码。
4-Hexo文章乱码解决
配置 _config.yml
重新生成。。。。。
啊哟,出错了?什么情况?找了有一段时间。原来,官方文档有说冒号之后要有空格。
重新修改配置 _config.yml
重新生成。。。。。
OK没问题。可是乱码的问题还是存在。再看文章编码,原理是文章编码的问题。
于是修改python程序,用UTF-8编码方式保存文章
于是,乱码问题解决了。 5-解决文章不全问题
文章不全是因为中文的文件名,虚拟机无法识别。所以把文件名都改成数字就可以读取所有文章了。
OK了,这些全部都能显示了
////////////////////////////////////////////////////////////////
嗯,差不多了。有时间再补全其他功能吧。
2016-05-25
Putty windows上传文件至 linux 虚拟机
PSCP (an SCP client, i.e. command-line secure file copy)
2-在CMD中使用PSCP
输入命令,格式是:
pscp [options] source [source…] [user@]host:target
一句命令,简单上传
2016-05-24
解决XML error Input is not prope
为了搬家,打算用Python写一个解释LOFTER XML的程序,出现如下错误
这说明XML有问题。因为如果XML有错,解释器就会不工作 W3C如是说 :
果不其然,放到chrome解释,就报错
This page contains the following errors:
error on line 840 at column 23: Input is not proper UTF-8, indicate encoding !Bytes: 0x0B 0xE5 0x8C 0x85
Below is a rendering of the page up to the first error.
查了下XML文件,840行23位置是CDATA区段,CDATA语法也没有问题呀。
网上搜下相关资料。一个帖子引起了我的注意: Invalid Character inside CDATA ,该帖子好像是说CDATA里面的文本并不是任何字符都可以的。如果超出UTF-8的字符集就会出错。英文太烂了,看不太懂。。。
而且有意思的是,这个帖子是14年前的。真有历史感
//////////////////////////////////////////////////////////////////////////
这说明不是语法问题,而是CDATA里面的内容有问题。
果真,在CDATA段里面,发现了2个不知道是什么的符号
把他们删了。现在就没有问题了。
python可以愉快的进行了。
这是搬家的一个小插曲。解决了小问题,却很开心。还有今天论文自己查重过了。paperpass浪费了4次,后知后觉的发现其实它根本就不准。直接交给学校去知网查吧。
Centos7搭建Hexo全过程
在搭建好Nginx后,安装Hexo过程相比就简单很多了。完全跟着官网教程来。
1-安装Gityum install git-core
安装Node.js的最简单方式是用 nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
然后就是按照Node.js
nvm install 4
最后一步npm install -g hexo-cli
4-建站
现在一切都准备好了,可以开始建站了。
$ hexo init <folder>
$ cd <folder>
$ npm install
最后的最后就是生成网页了
然后就是把pulic下的网页复制到Nginx的网站root目录下。默认是/usr/share/nginx/html/
再然后就可以访问了。
2016-05-22
Centos 安装Nginx全过程
yum install epel-release
2-然后就可以简单的安装Nginx了
yum install nginx
3-运行Nginx
systemctl start nginx
测试下服务
原来是防火墙没有设置 4-设置防火墙
firewall-cmd --permanent --zone=public --add-service=http
重启防火墙
firewall-cmd --reload
再试试
5-开机自动启动Nginx
systemctl enable nginx
nginx -v查看下当前的版本,发现是Legacy versions
所以就有必要更新下。
官方文档是这么说的:
所以按部就班
最后更新nginx
yum update nginx
看,已经升级为最新的nginx了