■[Python]libxml2でスクレイピング 川o・-・)<2nd life - ruby のスクレイピングツールキット scrAPIで、紹介されているscrAPIというツールを知りました。 CSSセレクタで要素を取得するというアイディアは面白いと思うのですが、やっぱりXPathを使った方が手っ取り早いし、あとあと応用が利きそうな気もします。 試しに、Pythonとlibxml2を使って書いてみます。libxml2のHTMLパーサーは、ブロークンなHTMLも解析してくれるし、エンコーディングも上手く扱ってくれるので非常に便利です。 例えば、すべてのリンクを取得したい場合はこんな感じです。 import libxml2 doc = libxml2.htmlReadFile( 'http://www.hatena.ne.jp/', # url None, # encoding libxml