• 締切済み

VBAで検索エンジンの自動検索とHP文章の自動収集

VBAでYahooやGoogleの検索を自動でやることはできないでしょうか? キーワードのリストが1000個ほどあり、ネットで検索して上位に出ているサイトから文章をコピペしてまとめたいのですが、すべて手作業でやると途方もない作業量になってしまいます。 なので次のような作業をVBAやプログラミングで自動でやることはできないでしょうか? エクセルなどに入力されているキーワードで検索をする。 ↓ 検索エンジンの上位100サイト程度の中からキーワードと近接する文章をコピーする。 ↓ コピーした文章をエクセルなどにまとめる。 これを全キーワードについて自動でやってくれるようなプログラミングは可能でしょうか? あるいはすでにこういったソフトがあれば有料無料問わず教えてください。 キーワードに関する情報を集めることができればいいので必ずしも情報元は検索エンジンでなくても構いません。 例えばRSSの更新情報の中からキーワードに関する文章を集めてくるようなソフトでもかまいません。 よろしくおねがいします。 ※大学の研究のために使う予定です。

みんなの回答

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

Web BrowserコントロールでHTMLソースを取り出してパース(解析) するよりは多少楽な方法を提案します。 (1)検索リクエストはYahooやGoogleの公開APIを使います。 -Yahooの場合 http://search.yahooapis.jp/WebSearchService/V1/webSearch にパラメーターを付けてHTTP GETリクエストすると検索結果が XML形式で返されます。( http://developer.yahoo.co.jp/webapi/search/websearch/v1/websearch.html ) -Googleの場合 http://ajax.googleapis.com/ajax/services/search/web にパラメーターを付けてHTTP GETリクエストすると検索結果が JSON形式で返されます。( http://code.google.com/intl/ja/apis/ajaxsearch/documentation/reference.html#_intro_fonje ) (2)HTTP GET のリクエストはMSXML COMオブジェクトを使って GETできます。 Dim ObjReq As MSXML2.DOMDocument Set ObjReq = CreateObject("MSXML2.DOMDocument") とか Dim ObjReq As MSXML2.XMLHTTP Set ObjReq = CreateObject("MSXML2.XMLHTTP") でオブジェクトを作って、 ObjReq.async = True if ObjXml.Load("http://hoge.hoge/hoge?fuga=xxx&....") = true then .... で結果を取得する。 (3)結果のパース(解析)はXMLならMSXMLのメソッドやプロパティが そのままつかえるので多少は楽、JSON(テキストデータ)の場合 VBAでそのまま使えないので面倒だが、VBAでJSONをパースする ページを発見( http://d.hatena.ne.jp/so_blue/20090326/1238084885 ) といったプログラムを作ればよいと思う。 注意点として、結果は文字コードUTF-8で返ってくる(問題なさそう?) リクエストはURLエンコードする必要がある。YahooやGoogleのAPIを使うためのキーを事前に取得する必要がる(ローカルだと何でもOKみたい?) あんまり詳しく書けません。後はご自身で調べてみてください 面白そうなので、私も作ってみよう。

回答No.1

そのようなソフトは知りませんし、ここで作り方を聞くには規模が大きすぎるので断片的に回答します。 可能か不可能か、という問いに対しては「可能」です。 検索エンジンの多くは、GETメソッドで処理されているので、検索用のURLクエリが解ればキーワード一覧を元に検索することはそれほど難しくはありません。 例えば、Googleの場合は http://www.google.co.jp/search?hl=ja&num=100&q=[ここにキーワード] というURLにアクセスすればキーワードで検索した結果が100件得られます。(ただし、キーワードはURLエンコードする必要があります) ここからURLを抽出し、リンク先のページをダウンロードしてファイルとして保存。(一旦保存してから文章を探したほうが処理を細分化できます。) とりあえずここまで出来るかやってみてください。これだけでもかなりのコード量になるはずです。 検索サイトへのアクセスは、Microsoft Web Browserコントロールでできます。 アクセスすればコントロールからHTMLソースを取り出すことが出来ます。 URLの抽出はHTMLソースから<A>タグを見つけることで出来ます。 ここまでで具体的なコーディング等が解らなければまた質問してください。

関連するQ&A

  • 検索エンジン利用ランキング

    検索エンジンの被利用ランキングを調べてます。 どこが一番人気があるのか知りたいです。 その上で、上位にランキングしているエンジンにおいて検索結果上位に表示されるためにはどうしたらいいか知りたいと思ってます。 最近ではリンクポピュラリティーが注目を集めてますが、やはりキーワード頻出度、近接度、などは相変わらず重要なんでしょうか? よろしくおねがいします。

  • HPが検索エンジンにひっかからない

    プロバイダーがbiglobeだったころには、biglobeのサーバーにHPをアップしていました(有料) そのころは、HPを閲覧してくれる人の数も多く、 簡単なキーワードでも検索エンジンにひっかかっていたようです。 3,4ヶ月前にプロバイダーを変えたのを機に、 HPも無料のものに変えました。 (中身はそのままで、URLだけ変わりました) その後ピタッとHPを見た人からのメールが来なくなりました。 カウンターが作動しなくなってしまって、閲覧者数もわからなくなってしまいました。 私のHPのアドレスがわからなくなったという知り合いが、色々なキーワードで検索をしたらしいのですが、検索エンジンに引っかからないらしいのです。 検索エンジンの上位にひっかかるしくみがよくわからないので、対策がわかりません。。 何かよい案があったら教えてください。 仕事関係のHPなので、困っています。

  • ■検索エンジンの構造について。

    ■検索エンジンの構造について。 私は http://zzz.kitanosorakara.com/ のサイトを運営しています。 「北の空から」 というキーワードでは、上位3位に表示されますが、 「宣伝」「独占広告」では、1ページ目にすら、表示されません。 上記のキーワードで、SEO対策を施したいのですが、 どうすれば、1ページ目(更には上位)に表示されますか?

  • 検索エンジン登録する方法

    検索エンジンに無料で登録する方法では、上位に上げることは難しいでしょうか? キーワードによって上位にあげる方法ありますか? また、検索エンジンに登録する方法を教えてください。よろしくお願いします。

  • 検索エンジン・自動リンク登録について

    このたびホームページを立ち上げますが、製作会社にSEO対策をお願いすると、毎月結構な料金がかかるといわれました。そこでいろいろと検索しているうちに、検索エンジン登録・自動リンク登録代行会社というものをみつけ、そちらにお願いしようとおもっております。  その登録会社では、検索エンジン登録においては紹介文やキーワード、サイト名等を候補も含めて5つほど記入しなければなりません。また自動リンク登録においても、同じようにサイト名候補と紹介文を記入しなければなりません。  紹介文、キーワード、サイト名等をどのように記入したらよいのか。ぜひ効果的な記入の方法をお教えください。よろしくお願いします。

  • VBAでキーワード検索

    EXCEL(テキスト可)内に書かれた大量のキーワードを 1ワードずつ自動でGoogle検索し、 1ページ目の検索結果のリンクを1つ1つクリックしていき、 検索結果ページ内に、目的の情報があれば取得し、 EXCEL(テキスト可)に出力するといった操作を VBAで自動で行いたいと思っています。 EXCEL2010かEXCEL2000に対応していればOKです。 検索するところまでは分かりましたが、検索結果(1ページ目のみ) のリンクをクリックして、ページ内の目的の情報を取得する といったところをどう記述すればよいかが分かりません。 検索するところまではこことほぼ同じように書きました。 http://vbaie.blog111.fc2.com/?mode=m&no=6 お分かりになる方、アドバイスのほど、よろしくお願いします。

  • 毎朝8:30にエクセル自動起動してVBA自動開始したい

    お世話になります。 毎朝8:30にエクセル自動起動してVBA自動開始したい という件で質問です。 エクセル限定が大前提です。他の処理方法は採用できない状況下です。  では本題。 毎朝8:30にパソコンの電源が入っただけの状態で、作業者は画面を見ているだけとします。そこでエクセルが自動で起動し、VBAが自動で動いて処理をするようにしたいのです。 ちなみに、VBA初心者でコピーペースト程度が分かります。よろしくお願いいたします。 (web検索で数時間探しましたが、理解できませんでした。)

  • HPを検索エンジンに登録する際、更新、検索での上位検索。

    ・METAタグって ロボット型に登録するときに必要というのは 分かりますが  このタグはHPの中につくるのか?それとも キーワードの登録画面にいれるのか? 等 基本的に分かりません。 ・HPを更新したら サーバーとか 登録している検索エンジンにサイド アップロードするのですか? 更新したら 登録検索エンジンで上位にランクされるのでしょうか? ・検索エンジンで上位に検索される 方式・決まりごと・こつなどありますか? また 上位にランクされるのは 他のhpとどうちがうのでしょうか?

  • 検索エンジンでの上位表示について

    検索エンジンにサイトを登録する際、例えば私の場合はダイエットサイトなのですが、「下半身ダイエット」というキーワードだけで検索してヤフーやグーグルで上位表示をさせようと思った場合、どのようにすればよいのでしょうか?

  • 検索エンジンの上位表示について

    検索エンジンについて2つ質問があります。 1)検索エンジンで上位表示されるのは、そんなにむずかしいことなのでしょうか? 2)上位表示されるための情報などを有料でネット販売などをしているサイトがありますが、こんなのって信用できるものでしょうか? よろしくお願いします。

専門家に質問してみよう