日本語が化けて大変苦労したのでメモ。結論として、XML(またはHTML)を解析する前にunicode関数に通しておく、ということで良いのかな?相変わらず文字コード関連はよく分からない。 from urllib import urlopen from lxml import etree html = urlopen("http://b.hatena.ne.jp") charset = html.headers.getparam('charset') html_data = unicode(html.read(),charset) et = etree.fromstring(html_data, parser=etree.HTMLParser()) title_element = et.xpath("./head/title")[0] title = title_element.text.e