HTMLタグの入れ子を間違えるなー。あとXPathは便利だけどちょっと遅い

とあるサイトのフィードを全文で読みたいので、XPath//div[@class="blogbody"]と指定したけど、1個だけきちんと全文取得できてないエントリがある。おかしいなと思って、そのエントリのHTMLソースを読んでみたら、

<div class="blogbody">
  <p><div class="quote">ほげほげ</p>
  <p>ふがふが</div></p>
</div>

これ、HTMLタグの入れ子関係があきらかに間違ってるじゃないか…。

<div class="blogbody">
  <div class="quote">
    <p>ほげほげ</p>
    <p>ふがふが</p>
  </div>
</div>

正しくはこうだよね。入れ子が間違ってるからXPathで正しく切り出せない。しょうがないからXPathを使うのはあきらめて正規表現で切り出すようにしたけど、速度が目に見えて違う正規表現のほうがちょっと早い。キャッシュが効いてるから、これはネットワークアクセスの差じゃないと思う。いったんツリーを構築してから抜き出すXPathとコアに組み込まれてる正規表現の速度差かなぁ。まあ、そんなことあんまり気にもしないけどね。やっぱり楽に書きたいし。あー、けどXPath一発ならともかく、XPathで切り出してextract_after_hookするくらいなら最初から正規表現でやったほうがいいかな。そのうち書き直していこう。