タグ

ブックマーク / taichino.com (2)

  • [Python] lxmlでスクレイピングのメモ – taichino.com

    以前、BeautifulSoupでのスクレイピングのまとめを書きましたが、ベンチマークを取ってみるとlxmlの方が圧倒的に速いので、lxmlが使えるならlxmlを使った方が良いです。それで久々にlxmlを使おうとしたら、例によって全く覚えていなくて悲しいのでメモ書きです。 基的にはXPathを使いまくるだけです。BeautifulSoupとかに比べると、正規表現の指定方法が複雑ですね。ハマりポイントは以前も少し書きましたが、positionを指定する際に、//(descendant-or-self)とdescendantは違うという事です。直感的ではないのですぐ忘れてしまいます。注意しましょう。 #!/usr/bin/env python # -*- coding: utf-8 -*- import lxml.html html = ''' <html> <body> <div id="

    suireN
    suireN 2013/10/21
    Beautiful Soupよりも速い
  • Pythonで日本語を含んだリストと辞書をpretty printしたい件 – taichino.com

    Pythonでコード書いてると、1回は残念だなぁと思うポイントとして表題の件があると思います。具体的には以下です。 # リストも辞書も出力がお世辞にも良いとは言えない。。 >>> print ['あ', 'い', 'う'] ['\xe3\x81\x82', '\xe3\x81\x84', '\xe3\x81\x86'] >>> print {'title':'ねじまき鳥', 'author':'村上春樹'} {'author': '\xe6\x9d\x91\xe4\xb8\x8a\xe6\x98\xa5\xe6\xa8\xb9', 'title': '\xe3\x81\xad\xe3\x81\x98\xe3\x81\xbe\xe3\x81\x8d\xe9\xb3\xa5'} 日語がバイト表現な上、全要素が1行で表示されています。これではちょっとprintデバッグするにも萎えますよね。複雑

  • 1