• 締切済み

CSVダウンロード機能にないインタネット公開DBからデータを取得したい

CSVダウンロード機能にないインタネット公開DBからデータを取得したい。少ない件数なら、検索した結果を1件毎コピペすればいいのですが、全部で数百件になるので、IEに表示された検索結果を自動的にエクセルに取込むとか、ファイル出力するとかいい方法はないでしょうか?

みんなの回答

noname#119957
noname#119957
回答No.1

とりあえず、HTMLで保存して、データ部分をコピペできませんか? テーブル形式ならHTMLのソースファイルの、<table></table>のタグの間にデータがあったりすます。それをエディタの置き換え機能でCSVに変換できませんか?

satbody1933228
質問者

お礼

はいそれも見てみたのですが、画面上には表示されている検索結果が、ソースファイル上にないのです。画面上に見えるデータは、必ずしも全部ソースファイルでは見れないのでしょうか?それとも、見方がまずくて表示されないもでしょうか?そのあたりもよく分からないのです。 また、ロボットプログラムでデータを自動的に取り込むことができるようですが、どんな仕組みなのでしょうか?PHPで自作できるようなものでしょうか?

satbody1933228
質問者

補足

はいそれも見てみたのですが、画面上には表示されている検索結果が、ソースファイル上にないのです。画面上に見えるデータは、必ずしも全部ソースファイルでは見れないのでしょうか?それとも、見方がまずくて表示されないもでしょうか?そのあたりもよく分からないのです。 また、ロボットプログラムでデータを自動的に取り込むことができるようですが、どんな仕組みなのでしょうか?PHPで自作できるようなものでしょうか?

関連するQ&A

  • PHP 検索結果のCSVダウンロード

    PHPを使用しています。 管理画面で検索結果を「ダウンロード」ボタン押下で CSV出力させたいのですが、 一度表示させた「検索結果」のみを後からCSV出力させるロジックが不明で困っております。 例えば、ボタン押下で入力フォームの内容でもう一度DBを検索させる? などが 考えられるのですが・・・

    • ベストアンサー
    • PHP
  • 【エクセルVBA】DBのデータをCSVに

    VBA初級者です。 oracleDBのデータをCSVへ出力するマクロをVBAで作成中ですが、実装方法が分からず困っています。 ・DB接続はoo4o ・エクセルは2010 ・SQLで取得したデータを1レコードづつCSVに書き出したい ・カラム名をヘッダーとして書き出したい 以下のような実現方法でできるか…?と考えたものの、 肝心のマクロ(VBA)でのDBデータの取得⇒CSVへの書き込み方法がいくら調べてもわかりません。 CSVからDBへのインポートはたくさんあったのですが…。 そもそも取得したレコードを配列で保持して書き出す、という考え方が合っているのか?ヘッダー(カラム名)はどのように書き出せばいいか? など疑問が尽きません。何卒お力添え頂ければ幸いです。 --ボタンクリック時のアクション-- (1)変数定義 (2)DB接続情報確認 (3)DB接続 'DB接続 Set oraSession = CreateObject("OracleInProcServer.XOraSession") Set oraDatabase = oraSession.OpenDatabase(dbSid, dbUser & "/" & dbPass, ORADB_DEFAULT) (4)書き込み用のCSVファイルを作る (5)SQLを実行し返ってきた結果をsplit関数で配列としてwriteListにAddする (5)作成したCSVファイル内にwriteListのデータをPrint #で書き出す (6)完了メッセージを表示 MsgBox "完了しました " (7)DBの切断 'DBクローズ Set oraDatabase = Nothing Set oraSession = Nothing --SQLを実行するメソッド-- (8)SQLを記述、SELECT結果を(5)に返す 恐れ入りますがよろしくお願いいたします。

  • オラクルDBからのデータ取得について

    こんばんわ。 オラクル(sqlplus)についての質問2点です。 (1)シェルからオラクルDBへアクセスし、データを取得したいのですが、  select時に、結果のヘッダーをつけずに結果(データ)のみをファイル出力することは可能でしょうか? (DB2で言うところの「-x」オプションのような・・・) (2)エラー時にSQLコードを取得したいのですが、SQLコードをファイル出力することは可能でしょうか? オラクルは初心者で、行き詰まってしまいました・・・ どうかよろしくお願いします。

  • 検索結果をCSVにダウンロードする方法

    いつもお世話になっております。 現在、データベースからある条件で検索をかけ、その結果をCSVにダウンロードさせたいと思っております。ネットでいろいろ探してみましたが、ぴったりくるものがありませんでした。。 今やっていることは、a,b,cというカラムに、それぞれ1,東京,TOKYO 2,大阪,OSAKA 3,東京,TOKYO と入っているとします。 条件はSELECT * FROM table WHERE b = '東京' ORDER BY a; という感じで、一行ずつWEBページに表示させています。 結果↓ ---------------- | a | b | c | |---|----|-----| | 1 |東京|TOKYO| |---|----|-----| | 3 |東京|TOKYO| ---------------- そして、この結果を近くにあるダウンロード(リンク)からCSVに出力したいのです。 ただし、ファイル名は決まっていてもいいのですが、サーバにずっと保存されたりするのはだめなんです。しかも、このDBには、多人数がアクセスし、検索をかけ、その結果をCSVでダウンロードしようと考えているものとします。なので、検索結果をサーバに保存し、そのファイルをダウンロードするというものは、作成したあとに、誰かが検索することで、上書きされ、ことなったファイルになる可能性があります。 ファイル名を時刻などを使い変えたとしてもサーバにファイルがたまっていくのでだめです。 なにか、いいサンプル、アイデアはないでしょうか・・・よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • DBからCSV出力する方法

    DBのデータをCSVファイルでダウンロードする機能を作成しています。 DBのデータをカンマ区切りで変数に格納するところまではできましたが、CSVでのダウンロード(ダウンロードダイアログ)ができません。 以下が実際の記述ですが、間違いを指摘いただけないでしょうか。 ※$result 出力するデータ全てが,区切りで格納されている <PHPファイル内> $size = strlen($result); $filename = csv_dl.csv; //csvdll header("Content-Disposition: inline; filename=\"".basename($filename)."\""); header("Content-Length: ".$size); header("Content-Type: application/octet-stream"); 以上です。 リターンが遅くなるかもしれませんが、どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • VBSCRIPTで、DB2のデーターベースに接続して、データーを取得し

    VBSCRIPTで、DB2のデーターベースに接続して、データーを取得しCSVファイルに保存する処理を作っています。そのときに、その経過をinternet explorerに表示しています。そのIEの画面上で、ろーかるに保存したCSVファイルへのリンクを作成して、それをクリックするとファイルが開くようにしたいのですが、そのリンクのHTMLの書き方がわかりません。 基本できな事とは思いますが、誰か教えていただけませんか? 宜しく御願いします。

    • ベストアンサー
    • HTML
  • WebBrowserにてCSVを取得したい

    WebBrowserにてCSVを取得したい vb.net(VS2008) にて、WebBrowserを利用して指定のURLからCSVをダウンロードしたいのですが、ダウンロードするダイアログまたはエクセルがWebBrowser内に表示されてしまいます。 単純に、WebBrowserに表示して、DocumentCompleted 時にDocumentとして取得したいのです。 もしくは、ファイル名を予め指定してダウンロードでも問題ありません HttpWebRequest,WebClientによる取得は、 SSLクライアント認証などの公開キーに基づく認証方式が必要なサイトのため、できませんでした。 ダイアログ、エクセルが起動せずに取得出来る方法がありましたら、教えていただけないでしょうか? よろしくお願いします。

  • CSVのダウンロードでエラーメッセージ

    以下のプログラムで、データベースの内容をCSV出力しようとしますが、IE6.0SP2上では、「Internet Explorerでは、接続先サイト名 - XXX.phpをダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。」と表示されます。 対策方法教えてください。 ----------------------------- header("Pragma: cache;"); header("Content-Type: application/x-csv"); header("Content-Disposition: inline; filename=output.csv"); $db=mysql_connect("localhost","***","***"); mysql_select_db("test",$db); $rs=mysql_query("SELECT * FROM master",$db); ------------------------------------------------ ちなみに、以下でも同じエラーです ------------------------------------- header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=output.csv"); ----------------------------------------

    • 締切済み
    • PHP
  • 配列データをCSVでダウンロードしたい

    こんばんは。お世話になっております。 題名にある「配列データをCSVで・・」に関して、2つほど質問があり投稿させていただきます。 ヤフーのAPIを利用しているのですが(テストしている段階)、検索結果は提供されたデータが配列に格納されており、それを展開して検索結果として出力しています。 と、ここで、その結果をCSVでダウンロードすべく、配列データをimplodeで配列に収めて別ファイルにGETで渡し、渡されたデータをexplodeで配列に戻し、 header("Pragma: cache;"); Header("Content-type:application/vnd.ms-excel; charset=Shift_JIS"); header("Content-Disposition: inline; filename=$fname.csv");//ファイル名は一意な名前にしています。 $csv_line = implode("\n", $items); print(mb_convert_encoding($csv_line, "SJIS", "UTF-8")); と、やっております。 そこで質問なのですが、まず1つめ。APIで提供されているデータはUTF-8なので、上記のようにmb_convert_encoding()を使っていますが、文字化けでダウンロードしたデータを読むことが出来ません。 このような場合の対処の仕方は、どのようにすれば良いのでしょうか? また、2つ目の質問ですが、配列データをCSVでダウンロードするために、配列データを別ファイルに渡しているのですが、上記のようなやり方では、implodeで変数に代入すると文字列が長すぎて、正常にデータを渡すことが出来ません。 当初はCSVを生成するときもヤフーに接続して・・と行っていたのですが、これだと2度アクセスすることになり(1日のアクセス数の上限が定められている)、出来れば1度のアクセスで得たデータを利用したいと考えているのですが、このような場合、配列データを別ファイルに渡すにはどのようにするのが理想なのでしょうか?(セッションの利用も試したが上手くいきませんでした)

    • ベストアンサー
    • PHP
  • VB2005でフォームに取り込んだデータをCSVファイルを出力したい

    VB2005環境、DBはSQLサーバです。 VB2005でフォームに取り込んだデータをCSVファイルで出力する 機能を付けたいと考えています。 現状は、SqlDataAdapterのFillメソッドでDBから取得したデータをWindowsフォーム上に出力する機能を持っています。 その出力したデータをクリック一つでCSVファイルとして出力したい と考えています。 かなり調べたのですが出来ませんでした。 どなたかご教授よろしくお願いします。