msxml4.0以上でxpathにて(DOMによるツリーアクセスではなくて)


ローカルに保存したMT系のブログやCMS出力されたファイル(xhtml)からを
記事などを取得したいんですがうまく取得できません。

はまるポイントがあればご指摘いただけませんでしょうか?


ずばりのサンプルソースでもかまいません。



こういった情報があるサイトのご紹介もお待ちしております。

いわゆるやりたいことはスクレイピングだと思うのですが、
各サイトごとにゴリゴリやってしまってもいいといえばいいのですが
できれば構造化されたものをきれいに取り込みたいのでxpathを使用したいのです。

回答の条件
  • 1人5回まで
  • 登録:2008/03/04 10:02:28
  • 終了:2008/03/11 10:05:02

回答(1件)

id:ffmpeg No.1

ffmpeg回答回数1202ベストアンサー獲得回数92008/03/05 00:59:41

ポイント60pt

ご要望のことが書いてある記事のようですが。

http://www.itmedia.co.jp/enterprise/articles/0712/06/news018_2.h...

id:neozerocool

すでにこういったところをみながらcurlで取得したブログを保存(特にXMLに変換は行っていない)し、

vb6+msxmlにてサンプルを作成しておりましたが、Xpathの指定が間違っているのか

うまくノードを取得できないのです。

文書自体のロードではエラーはでていないので

XML Namespaces Recommendation [XML Names]

あたりが問題なのかと考えているのですが・・・

2008/03/06 08:14:44
  • id:bonlife
    「うまく取得できません」とありますが、現在何を試してどういう状況になっていますか。
    http://support.microsoft.com/kb/303516/ja
  • id:neozerocool
    追伸です。
    すいません xhtmlロード時にxmlのパースエラーが返ってきてました。
    エラーは -1072896764
    A name was started with an invalid character.
    となっていました。ブログから出力されるxhtmlがいい加減なためパースできないでのしょうか?

    となるとhtml>xhtmlへの厳格な返還処理というのが必要になるのでしょうか?
  • id:neozerocool
    続追伸
    curl>html>xhtml>xmlでパースが目的で
    tidyにたどり着きましたが html>xhtmlの変換が強制的にはできないっぽいのです
  • id:bonlife
    http://itpro.nikkeibp.co.jp/article/COLUMN/20061004/249889/

    定義済み実体参照まわりがあやしい気がします。
    & あたりがそのまま入ってたりしませんか?
    (tidyについては詳しくないので、その影響は分かりません。)

    元がHTMLで、その内容をパースしたいのであればLL言語でやれば簡単だと思いますよ。
    Python + lxml ならXpathも使えますし。
    (libxml2を使っているので、ある程度柔軟にパースしてくれます。)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません