• ベストアンサー

Web上のデータベースをダウンロードするソフトは?

下記のWeb (海外の展示会)から、全出展者の会社名・Tel・Fax・e-mail・URLをダウンロードし、Excelで表を作りたいのですが、一度で出来るソフトを知りませんか?有料でも結構ですが。 宜しくお願いします。 http://www.quadrumsaca.com/en/catalogo.php

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

  • ベストアンサー
  • mayfai
  • ベストアンサー率28% (29/100)
回答No.7

>xyzzyとK2Editorをインストールして、">"で検索(ご指摘の":>"ではヒットせず)する所まではやったのですが。  申し訳ない、凡ミスです。":<"で検索でした。  xyzzyは私もよく分かりません。フリーウェアで正規表現の置換に対応しているのはこれしか知らないので紹介しました。  有料のエデイタなら秀丸・WzEditor・SARI等で可能なようです。ただし、#5はあくまでも参考で、このとおりにやれば出来るかは分かりません(秀丸は出来ません)。前に書いたとおり、正規表現にはばらつきがあるため、一概にこうすればこうなるとはいえません。その他の使い勝手もあるでしょうし、試用可能の物が多いので、自分で使用してみて決めれば良いでしょう。 >ExcelでCSV形式で読み込み、というのもどうやったらいいのか。  Excelのヘルプ開くとか、googleで検索するとか、マイクロソフトに問い合わせるとかしてください。 >色々なサイトのダウンロード、検索、置換、整形、Excelへの取り込みが自在に出来るなら有償でも結構です。  ダウンロードは普通のダウンロードソフトで良いと思います。今回のような用途ならGetHTMLWかWeBoxあたりが適当かも。  検索、置換、整形はテキストエデイタで良いと思います。正規表現とキーボードマクロを使えば、これくらいの作業ならさほど手間はかかりませんし、難易度低めです。  ちなみに、検索、置換、整形はVBA使えば、Excelだけでも出来ます。ただし、難易度は桁違いです。つまり、出来るとやれるは違います。

krts
質問者

お礼

mayfaiさん ご親切なアドバイス、本当に有難うございます。 今日、正規表現の本を買い、これから勉強してみます。ソフトについても、幾つか試してみようと思います。ただ、元データの形式が一定していないので、自分でどこまで出来るか自信がありませんが。 どなたか有償で、指導して頂けると助かるのですが。 mayfaiさんには、大変お世話になりました。

その他の回答 (6)

  • mayfai
  • ベストアンサー率28% (29/100)
回答No.6

 #5の修正です。  2-1) で会社名に,が入っている可能性があるので、""を付けます。次のとおり。"自体も入力。 ^.+Company:\</b\> ([^<]+)\<br\> -> "\1",

krts
質問者

補足

本当に有難うございます。ただ、力不足でご支持通りに出来ていません。 xyzzyとK2Editorをインストールして、">"で検索(ご指摘の":>"ではヒットせず)する所まではやったのですが。 xyzzyで、"org" -> "new" の表記をどこにするのかが分かりません。 ツールの置換で、検索:org, 置換:new、でもなさそうですし。。。 ExcelでCSV形式で読み込み、というのもどうやったらいいのか。。 すみませんが、もう少しお教え頂けませんか? ご面倒お掛けします。 色々なサイトのダウンロード、検索、置換、整形、Excelへの取り込みが自在に出来るなら有償でも結構です。 宜しくお願いします。

  • mayfai
  • ベストアンサー率28% (29/100)
回答No.5

 #3です。  今更ですが、更に簡単な方法を思いつきました。  まず、正規表現で置換ができるテキストエデイタを用意してください。フリーではxyzzyが対応していると思います。  GrepはK2Editorが対応しています。 http://www.vector.co.jp/soft/win95/writing/se102920.html http://www.vector.co.jp/soft/win95/writing/se126077.html http://xyzzy.s53.xrea.com/wiki/  1) Grepで":>"を検索し、ファイルにセーブ。  2) エデイタを使用し、必要部分を取りだす。  これは "org" -> "new" と表記します。orgが検索部分でnewが置換部分です。ダブルクォーテーション(")自体は入力しません。  2-1) 会社名・Tel・Fax・e-mail・URLの内容をとりだす。  もし、うまくい対応できないデータがあれば、"([^<]+)"の部分を厳密に記述するか、そこだけ手で修正してください。 "^.+Company:\</b\> ([^<]+)\<br\>" -> "\1," "^.+telephone:\</b\> ([^<]+)\<br\>" -> "\1," "^.+fax:\</b\> ([^<]+)\<br\>" -> "\1," "^.+email:\</b\> ([^<]+)\<br\>" -> "\1," "^.+web:\</b\> ([^<]+)\<br\>" -> "\1"  2-2) 余計な行を削除。 "^.+\>\n" -> ""  2-3) 整形 "(.+)\n(.+)\n(.+)\n(.+)\n(.+)" -> "\1\2\3\4\5"  2-4) セーブ。  3) ExcelでCSV形式で読み込み。

  • mayfai
  • ベストアンサー率28% (29/100)
回答No.4

 #3の補足です。  1)のgrepの検索順は、ディレクトリエントリ順になると思いますので、ダウンしたファイルのフォルダ内容は変更しない方が無難です。でないと、整合性がとれなくなる可能性があります(TELでfile1->file2の順だったのが、FAXでfile2->file1の順とか)。CD-RW等に保存すると確実かもしれません。(あくまでも想像なので保証はしません)  それと、頭にタグジャンプ情報("<filename>+<linenumber:>"等)が付くのが普通ですので、これも削除してください。ちなみにK2Editorの場合、付けない設定も出来ました。  また、この情報を別に保存しておいて整合性をチェックする方法も取れます。簡単に説明しますと、K2Editorの場合、下の形式ですので、"("の前までを保存し、#3と同様に1つのシートにした後、=IF(AND(A1=B1,B1=C1,C1=D1,...),0,-1) とかでチェックします。(式は記憶力で書いているのであてになりません。Excelやってればこんな感じってので分かると思いますが、分からなかったらすみません。) ---- Tag Jump sample ---- catalogo_dettaglio.php_cod=88690(168): catalogo_dettaglio.php_cod=137793(168): ---- end ---

krts
質問者

補足

mayfaiさん ご丁寧に本当に有難うございます。ダウンロードツールとgrep検索ツールである程度できる様になりました。まだご説明の内容を理解するまでには至ってませんが。grepとか教えて頂き、やれば出来そうな気になりました。有難うございます。

  • mayfai
  • ベストアンサー率28% (29/100)
回答No.3

 #2です。  ダウンロードツールでダウンしてその中からTEL等をとりだすという方法でいいのですね。  加工の方法ですが、awkは少し難しいので、比較的簡単だと思われる方法を書きます。  1) ダウンしたファイルをgrepで検索し、"telephone:"を含む行をファイルにセーブする。  2) 1)で作ったファイルをエデイタで開き、正規表現やキーボードマクロなどを使用し、"telephone:</b> "以降の番号だけを取り出す。取りだしたらファイルにセーブする。ファイルは次のようになる。 --- sample --- 050 703287 055 8071199-8059071    ・    ・    ・ --- end ---  3) 同様にFAX以下のファイルも作る。  4) EXCELで2)のファイルを開き、列をコピー&ペーストして1つのシートにまとめる。  正規表現わからないときついかもしれませんが、見た感じ最初の位置は固定なので、矩形カットと置換でも対処は可能かと思います。  まあ、正規表現はそれほど難しくないので、ネットで検索してみてください。この場合ですと、"^.+telephone:\</b\> "を削除すると番号以降が残ります(正規表現には多少ばらつきがあるので、異なる場合もあります)。

  • mayfai
  • ベストアンサー率28% (29/100)
回答No.2

 良く分かりませんが、Irvine等のツールでリンクされたページをダウンしてawk等のフィルタ系ソフトで加工すれば良いだけでは?  一度にやるとすれば、パケット監視ツールなどでIrvine等でダウンしながらパケットを分析し、必要な部分だけ抜き出せば不可能ではないかもしれません(全く自信なし)が、普通にダウンしてから加工した方が簡単だと思います。

krts
質問者

補足

有難うございます。 awkというのがよく分からず、自分では手に負えそうにないかも。勉強してみますが。。 プログラムを余り勉強しなくてもいいようなawkのソフト(有料)はありませんか? 贅沢言ってすみません。

回答No.1

Databaseが何なのか分かりませんが、 MySQLならphpMyAdmin、 PostgreSQLならphpPgAdmin、 SQLiteならSQLiteManagerと フリーツールはありますので、それをFTPアップロードして ブラウザからDatabaseに接続を試み、SQLを流したらいかがでしょうか。 自分で運用しているサーバでないのなら、 そのWebサイトの出力結果を吐き出してくれる、 そのWebサイトについてのみとことんこだわったツールでもない限り不可能だと思います。

krts
質問者

補足

早速有難うございます。 自分で運用しているサーバーではありません。 各会社をクリックして、コピペをするしか方法がないのでしょうか? 数百社あるので、ダウンローダーとか、何かいい方法があれば、と質問致しました。

関連するQ&A