• ベストアンサー

XMLでyahooのAPIを叩きローカルで処理

XMLでyahooからオークションデータをダウンし、ローカルの自作アプリで処理したいです。C++は書けるのですが、XMLがよくわかりません。ソケットでhttpを使うプログラムは書いたことがありますが、こんな低水準ではなく、ライブラリを活用してスマートに処理をしたいです。 どこから手をつけていいかわからない状況です。 この順番で勉強しろ、この本・webが参考になる、などの回答をお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

取り扱うXMLが膨大(数十MB以上)なら、SAX手法を使わなきゃ、ハングしちゃい そうだけど、絞り込んだ上のオークションデータならDOM手法で処理しても よいでしょう。 マイクロソフト環境のC++ならmsxmlを参照設定して簡単に扱えると思います。 入門者なら、C++よりJAVAとかPHP使った方が、DOM/XMLを扱うライブラリとか、 組み込まれてるクラスが機能充実してるので楽だろう(javascriptでもOK) 本格的にXMLを学ぶなら、名前空間とか、本格的にXMLを勉強しないといけないが、 とりあえずの作業なら、XMLをまるごとjson型式のオブジェクトに 変換してくれるライブラリーもありますよ。

kazenoaruhi
質問者

補足

すみません。ローカルに落としたいデータは、APIでもらえるリストだけでなく、そこからオークションのページそのものを落としたいです。当然htmlで、画像はリンクが張ってあって……。これをきちんと落とすのに、よいライブラリはありませんでしょうか。 あと、XMLは将来に備え本格的に学びたいです。とりあえすjsonにして処理ではなく、xmlをきちんと扱いたいのですが……。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • XMLで要素が記述された順番に意味を持たせたらダメ?

    仕事でXMLを読み込むプログラム(java)を作っています。 <text> <sentence>1行目</sentence> <sentence>2行目</sentence> </text> 例ですが、上記のXMLを自分で考え、それを読み込んで順番に表示するプログラムを作ったところ上司に 「XMLの仕様では、要素は記述された順番に読み込まれるとは限らないよ」 と言われましたが、これは本当ですか? 参考になるサイトや書籍があれば教えて下さい。よろしくお願いします。 XMLの仕様の日本語訳をざっと読みましたが、よく分かりませんでした。 更に、下記の記事を読んでみましたが、これもよく理解できませんでした。 http://www.ibm.com/developerworks/jp/xml/library/x-eleord/index.html

    • ベストアンサー
    • XML
  • XMLパーサー(であってるのかな?)について

    いつもお世話になっています。 VB6.0でXMLファイルを読み込むプログラムを修正しています。 参照設定で「Microsoft XML,version2.0(msxml.dll)」というのを使用しています。 そこで、みなさんにお伺いしたいのが、 このオブジェクトのヘルプファイルの場所なんです。 正直言っていろいろなメンバーがあったり、メソッドがあったり しても、何を書いてるのか「やんわりと」しかわかりません(;_;) MSDNでそれらしきライブラリを見つけたのですが、 微妙に名前が違ってて、それでもいいのかわからず・・・ ヘルプドキュメント(MSDNなど)の場所をご存知の方 いらっしゃいましたら、教えて下さい。 自分でみつけたのは 1 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemxmlxmlnodememberstopic.asp 2 http://www.microsoft.com/japan/msdn/xml/general/beginner.asp#What でした。これであってるのでしょうか? 2は、まさにやってるのは「これ」なんですが、あまりにも概要だけで、細かい処理の内容までわかりません。 みなさんよろしくお願いします。

  • 純Perl製のXMLパーサーはありませんか

    horagaiです。お世話になっております。 PerlでXMLファイルを処理する必要があり、Perlで使えるXMLパーサーを探してみたところ、XMLParserというそのものずばりの名前のモジュールがあることがわかりました。 しかし、これはXMLパーサー本体ではなく、expatというC言語で書かれたXMLパーサーを利用するためのインターフェイスらしいです。それに私は無料ホームページスペースで使いたいので、コンパイルの必要なモジュールは利用できません。 Perlだけで使える(expatのようなPerl以外で書かれた非標準的外部プログラムを必要としない)XML処理用のライブラリー(モジュールではなくパッケージ)をご存知ないでしょうか。 出来れば日本語も処理できる(それもUnicodeだけでなくEUC-JPやShift-JISのファイルも)ようなものが望ましいです。 Perlはテキスト処理が得意なので、Perlで書かれたXMLパーサーは当然あると思っていたのですがどうも見つかりません。 なお利用目的としてはデータ構造を取り出すと言うよりも単にXMLデータをHTMLに直したいだけなので、別にXMLパーサーでなくてもそのような目的に使えるようなパッケージであればそれでも構いません。 なおCPANも一応はチェックして見ましたが見つかりませんでした。(もちろん見落としはあるかも知れませんが) よろしくお願いします。

    • 締切済み
    • XML
  • YAHOO ウェブ検索Web APIを使ったプログラム

    perlのペーペープログラマーです とりあえず動けばOK的にしか作れないレベルです 現在YAHOO ウェブ検索Web APIを使ったプログラムを作成しています (プログラム、フォーム用、結果表示用のHTMLなどもutf-8で記述) 大体普通に動くのですが一部キーワードを使うとなぜか違う検索結果が返ってきます 例:SEOツール 1.返ってくるべきページ http://search.yahoo.co.jp/search?p=SEO%E3%83%84%E3%83%BC%E3%83%AB 2.なぜか受け取るページ http://search.yahoo.co.jp/search?p=SEO%83c%81[%83%8B なぜか2のshift-jisっぽいものが返ってきます 他のキーワードなどでは普通のUTF-8のページが返ってきます 文字化けなどはほとんどありません 正直まったく原因が分かりません いったい何をどうすれば良いのでしょうか? ソースは下記みたいな感じです &decode; #デコードサブルーチン use LWP::Simple; use XML::Simple; $url = "http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?appid=$appid&query=$in{'keyword'}"; $response = get($url); $xml = new XML::Simple; $yahoo_xml = $xml->XMLin($response); $tra = $yahoo_xml->{totalResultsAvailable}; $page = <<"EOF"; $tra EOF &page; #ページ表示サブルーチン $pageを表示 ちなみに文字化けは他プログラムでは発生していましたが解決しました 関連性があるのでしょうか? 問題 APIから帰ってきたものを@lineに入れてHTML表示 それ以外の変数文字列が文字化け 解決策 APIから返ってきたものをforeachでutf-8にデコードしたら他のものが普通に表示されました。 foreach (@line) {Jcode::convert($_, "utf8");} こんな感じです これは返ってきたものなので、そもそも返って来るものが違う場合もうお手上げです。 何がなにやら分かりません 上手に説明できませんでしたが、よろしくお願いいたします また教えてgooへの投稿に慣れていないもので至らない点あるかと思いますがご容赦ください

    • ベストアンサー
    • Perl
  • XML(HTML)の処理について

    じゃば初心者です。 WEB上のXML(HTML)をとってきて、一部だけを取得するプログラムを作りたいのですがうまくいきません。 SAXParserのメソッドに parser(InputStream obj) | Parser(URI uri) があります。 初めはParser(URI uri)でURLを直接指定したのですが、プロキシを通すことができないみたいでできませんでした。 parser(InputStream obj) の java.io.InputStream は HttpURLConnection のgetInputStream()メソッドから取ってくるようにしました。これでwww.yahoo.comなどのサイトで初めのタイトルとかは取得できるようにはなったのですが、途中で例外が出てとまってしまいます。これは文字コードがUnicodeでないことが理由の一つだと思います。 InputStreamの文字コードを変換するか、ほかのよい方法を教えてください。

    • ベストアンサー
    • Java
  • PHPでXMLファイルを読み込みたい

    PHPを使ってxmlファイルを読み込んで、タグの中のデータなどを読み込んだりしたいです。 ですが、自作のxmlファイルだと simplexml_load_file()で読み込めません。xmlファイルの文字コードを色々と変えて試してみましたが、できませんでした。 ちなみに以下のコードは正常に動きました。Yahoo!のxmlファイルです。 $url = "http://rss.weather.yahoo.co.jp/rss/days/5710.xml"; $rss = simplexml_load_file($url); 出力は「【 25日(金) 嶺北(福井) 】 晴れ - 23℃/8℃ - Yahoo!天気・災害」でした。 何度かやるうちにアルファベットは表示できても日本語が表示できないということもありました。 また、xmlファイルをphpのプログラムに作らせたいです。そのときに、simplexml_load_file()で読み込める日本語も含むxmlファイルをphpで作成するプログラムを教えていただけると嬉しいです。 お願いします。

    • ベストアンサー
    • PHP
  • Twitter APIが利用できない!?

    Twitter APIを利用してWebアプリケーションを作成しようとしています。手始めにローカル開発環境でタイムラインを取得したのですが、レンタルサーバに移すと取得できません。 <?php require_once( 'twitteroauth.php' ); (OAuth認証でアクセストークン等を取得する処理は省略) $TwitterOAuth = new TwitterOAuth('コンシューマキー', 'コンシューマシークレット', 'アクセストークン', 'アクセスシークレット'); // タイムラインを取得 $timeLine = $TwitterOAuth->get('statuses/home_timeline'); (以下、表示処理は省略) ?> PHPを使ってこのように書きました。(今回はライブラリとして、TwitterOAuthを使わせていただきました。) ローカル開発環境でこのプログラムを動かすと、正常に動作しました。 しかし、これをレンタルサーバに移すと、動かなくなります・・・ 以下、状況をまとめました。 ・色々試してみるとレンタルサーバ上においても、OAuth認証はうまくいっている模様。  アクセストークン等は取得できていた。 ・タイムラインの取得処理だけが失敗して、NULLが入ってしまっている。   → Twitter APIへのアクセスができない? ・しかし、$TwitterOAuth->post('statuses/update', array('status' =>'テストツイート'));は  うまくいく。   → 試してみると、GETメソッドのものだけが失敗する模様 ・ライブラリを他の物にして、同じ機能を実装しても同様のことが起こります。  ライブラリ無しで書いてみても同じでした。ローカルではうまくいくのに・・・ ・利用しているレンタルサーバは、さくらインターネットのレンタルサーバ。  もう1つは個人の方が運営しているレンタルサーバ。  どちらもライブラリの動作環境は満たしている。 php.iniの問題でしょうか。 それともTwitter APIの利用できないサーバがあるのでしょうか。 初心者なりに色々考えてみましたがわかりませんでした。 どうしたらよいでしょうか。

    • ベストアンサー
    • PHP
  • ローカルでPHPプログラムが動きません。

    ローカルでPHPプログラムが動きません。 はじめまして、初心者のものです。 よろしくお願いいたします。 現在、VertrigoServをWindowsXPの環境でPHPの勉強をしております。 インストールも無事終わり、簡単はサンプルプログラム程度なら問題なく動作確認しました。 問題なのが、ローカルサーバーからほかのサーバーなどにリクエスト(アクセス)してもデータが取得できないのです。 例えば http://www.nob13.com/docs/php/web こちらにある、ただWebページをゲットして表示するだけのプログラムも動作しません。 (サイトはyahooにて実行しました) しかし、こちらのプログラムの無料のレンタルサーバーなどにアップしたところ、問題なく動作確認することができ、ローカルでのみ動かない状態です。 そこでコマンドでYahooにPINGを飛ばしたところ無事飛ぶことは確認しました。 ネットでいろいろ調べたところ、「TCP接続が許可されてないのでは?」というようなものを見つけました。 そこでTCP接続というのはどうすればよいのでしょうか? またほかに問題点が考えられるようでしたらそちらの問題点と、解決策のご教授をお願いいたします。

    • 締切済み
    • PHP
  • XMLShemaからXML文書を作成

    こんにちは VB2005でXML文書をアプリを作成指定しています。 XML文書を読み込んでバリデーションをかけて、OKであれば処理続けていくプログラムです。 実際の業務でバリデーションのために使用する XMLSchemaをもらったのですが、階層が深くなかなか複雑なようで、 ファイルの数は100個近くあります。 プログラムのテストのために、指定のXMLSchema全ての構造体を反映したXMLファイルを作成したいのですが、 手動ではかなり厳しいです。 ちなみに、メインとなるXSDファイルがありますが、 その中では、子要素となる構造を定義したXSDファイルを importやincludeしているだけです。 このようなXSDファイルを指定して、全ての構造を網羅したXMLファイルを作成してくれるツールは存在しますでしょうか? もしくは、そのようなツールを作成するプログラムのサンプルでも結構です。 以上、よろしくお願いいたします。

    • ベストアンサー
    • XML
  • ユーザによってアプリの処理速度が異なる???

    ユーザによってアプリの処理速度が異なる??? ローカルユーザとドメインユーザで自作アプリケーションの処理速度が異なり原因が良く分からず困ってます。今までこのような事象になった事がありますか?実際に自作APをローカルユーザでは1秒以内で処理できるが、ドメインユーザでは40秒かかっています。 環境OS:Windows Vista ドメインサーバ:Active Directory ユーザ:Admin権限ありのローカルユーザ    :Admin権限なしのドメインユーザ