タグ

scrapingとHtmlAgilityPackに関するkaorunのブックマーク (2)

  • C#でHtml Agility Packを使ってYahoo!ファイナンスの現在の株価を取得する - 酢ろぐ!

    Html Agility Packという.NET Framework向けに書かれたHTMLパーサーライブラリがあります。このライブラリはC#から利用することができ、簡単にウェブスクレイピングすることができます。 株価を調べる際に「Yahoo!ファイナンスは20分遅れの株価を表示しているので、株価を見たいなら証券会社のサイトを開く」という習慣がついてしまったのですが、先日たまたまTwitterで株価に関する話題が出たので調べると株価がリアルタイム表示されていました。@bird982000さんによると今年4月に株価のリアルタイム表示についての規制(?)が緩和されていたようです。 …ということで、Yahoo!ファイナンスからコクヨ(7984.T)の株価を取得してみましょう。 もちろんタイトルの通りHtml Agility Packを使用します。今回はXPathを使っているので、前回のようにHTM

    C#でHtml Agility Packを使ってYahoo!ファイナンスの現在の株価を取得する - 酢ろぐ!
  • HtmlAgilityPackよりSgmlReaderがいいと思う - ものがたり

    最近、仕事で他のメンバーが書いたHTMLスクレイパーみたいなコードの大幅な手直しをしているのだけど、ちょっとこれは書いておこうと思ったネタを公開しようと思う。それは.NETHTMLを解析する、より真っ当な方法のことだ。 一言で言うなら、HtmlAgilityPackを使うより、SgmlReaderを使ったほうが良い。理由も簡潔に言うなら、HTMLはSGMLに準拠して設計された仕様だから、SGMLの流儀に従ってロジカルにマークアップを解析できるパーサーを使った方が適切に処理できるし、実際HtmlAgilityPackの解析はSgmlReaderより雑だ。 ちょっと待った。何が「雑」なんだろう? 雑というのはちょっといい加減な物言いだ。HTMLを解析するというのは、そんなに雑だったり厳密だったりするものだろうか? 厳密すぎるHTMLパーサーというのはかえって実用性が低かったりするんじゃないの

    HtmlAgilityPackよりSgmlReaderがいいと思う - ものがたり
  • 1