Python安装lxml(编译安装其依赖的库)

依赖说明:

lxml是libxml2、libxslt的PythonBinding,依赖于libxml2和libxslt。libxslt依赖于libxml2。

由于我们的程序可能要分发到别的机器运行,所以要提取出一个可独立拷贝走的运行时环境,假设该目录为/home/liheyuan/env

1、安装libxml2
wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gz
tar -xzvf libxml2-2.9.0.tar.g[......]

继续阅读

Linux下ext3如何恢复文件

这几天就干脑残事了……周五来了一把rm -rf *,今天才发现……

ext3恢复方法:

1、安装ext3grep
sudo apt-get install ext3grep
2、卸载要恢复的分区,假设为sda3
sudo umount /dev/sda3
3、恢复
sudo ext3grep /dev/sda3 --restore-all
恢复的文件在运行extgrep当前目录下的RESTORED_FILES目录下。[......]

继续阅读

Python中向gz(gzip)文件中写入utf8(utf-8)字符串

这是一个内牛满面的问题,我从半年前开始找这个问题的答案,今天才解决……

需求版本1:我需要将字符串直接写入成以gz格式,这个很简单。
import gzip
fp = gzip.open("file", "wb")
fp.write(data)
fp.close()
需求版本2:现在字符串data需要是utf-8的,上述方法就不行了,解决方法:
import codecs
gzfp = gzip.open("file&quot[......]

继续阅读

Python拥抱lxml

之前一直在用BeautifulSoup,怎么说呢,上手容易,但经常容易出现各种诡异的问题,却很难找到方法修改。

lxml.html是一个偏向底层的HTML解析器,速度秒杀BeautifulSoup。

网站:http://lxml.de/lxmlhtml.html

解析页面:
# 下载页面,转化编码
import urllib2
str = urllib2.urlopen("http://www.coder4.com").read().decode(&q[......]

继续阅读