• ベストアンサー

エクセルでwebデータの取り込みをしたいのですが

ここのところ、本やネットで調べては格闘しているのですがどうしても分からないので質問させてください。 やりたいことは、 1.エクセルでヤフーモバイルを開き、選択したキーワードで検索 2.検索結果から、そのキーワードのヒット件数・上位10位のサイトのURLをエクセルに貼り付け をしたいのですが(違うHPでもしたいのですが)APIが使えないHPで検索BOXへの入力と検索ボタンのクリック と結果のデータエクセルへの貼り付けがど~にもよくわかりません? どなたか、ご教授お願いいたします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

>違うHPだと指定する箇所も変わってくるのでしょうか? HPのソースを見ればわかるように、当然変わります。 Yahoo!モバイルの例 Sub test2() Dim myWind As Object Dim InputTag As Object Dim myUrl As String Dim myFlg As Boolean Dim i As Long myUrl = "http://mobile.yahoo.co.jp/" 'Yahoo!モバイル For Each myWind In CreateObject("Shell.Application").Windows With myWind If .locationURL = myUrl Then Set InputTag = .document.getElementsByTagName("INPUT") For i = 0 To InputTag.Length - 1 If InputTag(i).ID = "srchtxt" Then InputTag(i).Value = "ダイエット" ElseIf InputTag(i).alt = "検索" Then InputTag(i).Click myFlg = True: Exit For End If Next i End If End With If myFlg = True Then Exit For Next myWind Set InputTag = Nothing End Sub 検索キーワードの入力は <input type="text" id="srchtxt" name="p" value="" maxlength="128" size="36"> myWind.Document.getElementById("srchtxt").Value = "ダイエット" とか myWind.Document.forms(1).elements(0).Value = "ダイエット" のようでもOKです。 検索ボタンのクリックは <input class="srchbtn" type="image" alt="検索" src="http://i.yimg.jp/images/mobile/pc/images/common/msearch_button.gif"> idもnameもないので、alt="検索"を使ってみました。 >こういう作業になにかセオリーみたいなものってあるんですか? 専門的なことはわかりません。私は下記のようなところを参考にしています。 三流君VBAでIE操作 InternetExplorer.Applicationを操作する http://www.ken3.org/cgi-bin/group/vba_ie.asp インターネットエクスプローラ操作編 http://www.happy2-island.com/vbs/cafe02/capter00701.shtml 7.1 IEオブジェクトを作る(IE7編) http://www.happy2-island.com/vbs/cafe02/capter00711.shtml

kiba5150
質問者

お礼

物凄く参考になりました! 本当に細かく教えていただきありがとうございます。 このコードを参考にさらに勉強していきます。 ありがとうございました。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

進んでいますか? test2の検索結果のページが表示されているとして検索結果を取得する例 (もっと簡単な方法があるのかもしれません) Sub test3() Dim myWind As Object Dim myTag1 As Object, myTag2 As Object, myTag3 As Object Dim myUrl As String Dim myFlg As Boolean Dim kw() As Variant Dim i As Long, j As Long, k As Long myUrl = "http://mobile-search.yahoo.co.jp/search*" 'Yahoo!モバイル検索結果 For Each myWind In CreateObject("Shell.Application").Windows With myWind If .LocationURL Like myUrl Then Set myTag1 = .document.getElementsByTagName("p") For i = 0 To myTag1.Length - 1 If myTag1(i).innertext Like "*件*" Then ReDim Preserve kw(k) kw(k) = myTag1(i).innertext k = k + 1 End If Next i Set myTag2 = .document.getElementsByTagName("ol") For i = 0 To myTag2.Length - 1 Set myTag3 = myTag2(i).getElementsByTagName("a") For j = 0 To myTag3.Length - 1 MsgBox kw(i) & vbLf & myTag3(j).innertext & vbLf & myTag3(j).href Next j Next i myFlg = True End If End With If myFlg = True Then Exit For Next myWind Set myTag1 = Nothing: Set myTag2 = Nothing: Set myTag3 = Nothing End Sub

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

”API”という文字があるのでマクロだと思いますが Googleが開いているとして 検索欄にキーワードを入力して検索ボタンをクリックする例 Sub test() Dim myWind As Object Dim myUrl As String myUrl = "http://www.google.co.jp/" 'Google For Each myWind In CreateObject("Shell.Application").Windows With myWind If .locationURL = myUrl Then .Document.all.tags("input").Item("q").Value = "ダイエット" .Document.all.tags("input").Item("btnG").Click End If End With Next myWind End Sub どこまで出来ているのか、現状のコードを提示できないでしょうか。

kiba5150
質問者

お礼

xls88さん、回答ありがとうございます。 現状はシートにウェブブラウザーコントロールにてサイト表示させているのみに留まっています・・・ googleのソースを見たのですが <input autocomplete="off" maxlength=2048 name=q size=55 class=lst title="Google 検索" value=""><br><input name=btnG type=submit value="Google 検索" class=lsb> にある、「name=q 」を指定して、「value=""」の中に検索語を指定してやり、「name=btnG 」を「Click」でクリックしてやるという解釈でよろしいのでしょうか? 違うHPだと指定する箇所も変わってくるのでしょうか? こういう作業になにかセオリーみたいなものってあるんですか? 質問ばっかりですいません。

関連するQ&A

  • gooのウェブ検索で登録されません。

    gooのウェブ検索をサイト名でしてもでてきません。 googleやYahooなどは検索で(1位で)ヒットするのですが、しかも検索でヒットして欲しいキーワードで検索したときに、Yahooだと上位にくるものもあります。 そして、gooのウェブ検索でサイト名ではヒットしないのに、他のキーワードではヒットします。 サイト名でgooのウェブ検索すると、他に私がリンクを貼ったサイトはでてきます。自分のブログページなどです。 SEOにお金はかけていません。 文章が下手で申し訳ありませんが、教えて頂けると有難いです。 ちなみに、URLを載せた方がお答え頂きやすいかと思ったのですが、宣伝とかと間違われるかと思ったので、とりあえずURLは載せません。 よろしくお願いします。

  • 検索上位ヒットするにはどうすればいいか教えて下さい^^!!

    会社でホームページを作り、YAHOOやGOO等複数のサイトに登録しています。ホームページのタイトルで検索すると、どのサイトでも上位ヒットするのですが、数多く検索されるキーワードでは、全くでてきません。上位にヒットされる基準は何でしょうか??HPの中にそれに該当するキーワードが多く含まれていればいるほど上位にくるのでしょうか??後、YAHOOからそのカテゴリーで公開するには月々いくらか、かかるというメールがとどきました。そこで確かに有料の分には登録していませんので最後まで検索結果を見ましたがHP事体ありませんでした。しかしホームページタイトルで検索すると上位の方にでてきます。お金がかかるというカテゴリのキーワードが含まれているキーワードで検索するとやはりお金がかかるカテゴリーになるため、無理なのでしょか??教えてほしいです☆宜しくお願いします!!^^

  • いきなり転落

    YAHOO検索であるキーワードで検索すると、今まで4~5位をうろうろしていたのに先日確かめたらいきなりなくなってしまい、300ぐらい探してもありません。登録自体はあるようですが。(URL検索ではあたります) 同じキーワードでGOOGLEでは1位ヒットずっとしています。ヤフーは最近上位になったみたいでした。 こんなにいきなり順位が何百も下がったりするものなのでしょうか? また、何故こんなことになったか思い当たる節がありません。

  • ヤフーでキーワード検索し、上位にランキングさせるには

    ヤフーで、キーワード検索し、自身のページを 上位にヒットランクさせるにはどうしたらよいのでしょうか? キーワード検索で、上位に表示されているページというのはそもそも、アクセス数が高いからでしょうか? 検索エンジン利用時の上位ランキング方法について 参考になるURLがあれば、教えてください。

  • EXCELでの外部データ取り込み

    初めて質問させていただきます。 エクセルの外部データ取り込みの、新しいwebクエリの機能を使って、 キーワード検索したページから、さらにそのリンク先のデータを取り出すことはできないでしょうか? (うまく表現ができないので、伝わるか不安ですが・・・。) どのような用途に使いたいかというと、論文検索でキーワードを入れて検索結果を出します。 そして検索結果一覧がでるのですが、そこにはタイトルしか表示されていません。 そのタイトルをクリックすると、その論文の概要が書かれています。 タイトル一つ一つをクリックして概要を確認していくのは大変なので、 検索一覧から、その論文の概要が一気に表示できる方法があれば知りたいのです。 お分かりになる方がいらっしゃいましたら、ぜひ教えてください!!

  • HPのWEB検索結果についてお尋ねします。

    2ヶ月前にHPを立ち上げ、その際、GoogleとYahooにロボットに巡回して貰えるようにHPのURLを申請しました。結果、4~5日でGoogle、その後、GooやMSNなど主だった所で掲載され、あるキーワード検索で、何処でも一枚目の上位に表示されるようになりました。 しかしYahooのみ、まだ全く掲載されません。なかばロボットが自動的に巡回し一ヶ月くらいで掲載されると聞いています。かれこれ2ヶ月たつわけですが、何か掲載されない理由、又、今後も掲載されないとういことが有るのでしょうか? 尚、HPは決して如何わしいサイトでは有りません。 その辺の事情を詳しく分かる方、宜しくおねがいします。

  • 自分のHPをググったりヤフーで検索してヒットさせた

    自分のHPをググったりヤフーで検索してヒットさせたいのですが これはヤフーやグーグルにお金を払わないと不可能なのでしょうか? 別に上位じゃなくてもいいのです。 最後の検索結果にヒットされてもいいのですが 自分の作ったHPのタイトルやHP内の文字で検索してもヒットしません。

    • ベストアンサー
    • HTML
  • 検索エンジンで検索結果を上位にするには?

    教えてください。 Yahooやgoogleの検索でキーワードを入れて検索しますよね。検索結果で上位(1ページ目か、せめて2メージ目)にこなければ、まずアクセスしません。あるキーワードで検索したら、自分もしくは企業のHPを検索結果の上位にしたいのですどうしたら良いのでしょうか? <質問> 1.検索結果の順位付けのしくみが知りたい。 2.どのようにしたら上位(1ページ目か2ページ目)に   することができるのでしょうか?

  • ブラウザによる検索結果の違い

    ブラウザによる検索結果の違い 最近会社のHPを立ち上げたのですが、検索結果に疑問があります。IE8からYAHOOを開いて、 そこから当社のHPを検索すると当社の社名は嫌われたかのように(意図的な感じで)検索されません。 しかしGOOGLE CHROMEからYAHOOを開いて検索すると上位でヒットします。 またIE8でGOOGLEやbingでも上位でヒットします。 これは何故なのでしょうか? ちなみにYAHOOはサイト認証をする前はIE8でも上位でヒットしておりましたが、 認証後は嫌われたように全くヒットしなくなりました。 サイトエクスプローラーも終了するようですが、このままIE8とYAHOOの組み合わせで ヒットしなくては何か対策を考えなければなりません。 この辺りの解決策をご教授下さい。宜しくお願いいたします。

  • ホームページの検索にヒットしやすいようにする

    ホームページ作成初心者です。 ヤフー、グーグルなどの検索ボックスに私のブログのキーワードを入れると、ほかの人のブログがたくさん出てきて、私のを探すのは困難です。 知り合いからホームページの検索にヒットさせるにはテクニックがあると簡単に聞きましたが、どのようなことをしたら上位に検索されるのでしょうか? 初心者ですがよろしくお願いいたします。

専門家に質問してみよう