[[20190410094820]] 『Google検索をして、その下に検索結果(URL)を表氏x(デイズ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Google検索をして、その下に検索結果(URL)を表示』(デイズ)

A列1行から、ずっと右へキーワードが記入されています。
調べたいキーワードは、400近くあります。

その1行目にあるキーワードをGoogle検索をして、
検索結果のURLだけを、そのキーワードの下に表示させたいです。

検索結果は全部で10ページくらい、大体100個のURLになるかと思います。
(youtube動画や広告などは含めないです)

このようなことは、Excelのマクロでできるでしょうか?
できるとしたら、どのようなマクロの記述になるでしょうか?

< 使用 Excel:Excel2016、使用 OS:Windows10 >


まだコーディングしていないようなので、[[20190222103201]] とか参考に、まずはいろいろ試してみてください。

webスクレイピングしようとするなら、自分でかなり調べ上げないと、HTML毎に適した方法が全然違ってくるので、頑張ってください。
(???) 2019/04/10(水) 10:25


別の質問の回答でしょうか?

『Google検索をして、その下に検索結果(URL)を表示』
よろしくお願いいたします。

(デイズ) 2019/04/10(水) 21:27


自分では手を動かすつもりがなくコードだけ入手したいのなら、
対価を払って外注して下さい。
(γ) 2019/04/11(木) 07:11

別の質問への回答を紹介しましたが、Googleに検索キーワードを指定し、検索結果を表示する、というところまで実現したコードを書いたものですよ? 少なくとも、「マクロでできるでしょうか? 」とか聞いている段階なら、大いに参考になると思ったのですが、ご自分のやろうとしている事と無関係と思うなら、見込みないですよ。

前に書いたコードで得た検索結果には、"g" というクラス名が付けられています。 先頭の検索結果だけで良いなら、これの0番目の情報だけ使えば良いでしょう。

その下にある"LC20lb" というクラスで得られるのが見出しの文字列であり、"a"タグを指定して得られるURLが、目的のものでしょうね。 あとはこれを、列数分ループさせるだけです。
(???) 2019/04/11(木) 09:54


 別掲示板にお引越ししたみたいですね。
(コナミ) 2019/04/11(木) 14:13

ここの経緯を伏せたまま、gooで再質問したようですね。 どうなるやら。
GoogleのHTMLは難しいので、重要部分を教えたのですが、何も響かなかったようです。 やる気を見せてくれれば、サンプルコードを書いて教えるのですけどねぇ。
(???) 2019/04/11(木) 15:00

 知恵袋でも質問していますね。
(bi) 2019/04/11(木) 15:03

 OKWAVEも。
(OK) 2019/04/11(木) 18:34

 ご指摘のとおり、getElementsByClassName("LC20lb")を使って
 その各要素の.ParentNode.hrefを取得すればよいので可能は可能です。
 ただし少件数ヒットのときの最終頁の打ち止めのあたりが面倒かもしれない。

 ただし、以下のような話もあるので、参考のためにメモします。

 https://www42.atwiki.jp/tomokazu0525/pages/41.html 
 によれば、以下のとおりです。 

 | VBAを利用してgoogle活用 
 | 基本的にスクレイピングは禁止されている様子。やめときましょう。 
 | 
 | 5.3 Googleが提供するインタフェース以外の手段で、本サービスの
 |  いずれにもアクセスしないこと(またはアクセスを試みないこと)に
 |  同意するものとします。
 |  ただし、Google との別個の契約において明確な許可を受けた場合は
 |  除きます。特に、ユーザーは、いかなる本サービスについても、
 |  いかなる自動化された方法(スクリプトやウェブ クローラーの利用に
 |  よるものを含みます。)によりアクセスせず、アクセスを試みないことに
 |  同意し、また、本サービスに関して提示されるいかなる robots.txt 
 |  ファイルにおける指示に従うものとします。 
 |   
 | 以前、上記規約を知らずに、連続して検索したところ、googleから御叱りの表示。こういうやつ。 
 | http://memo-no-memo.cocolog-nifty.com/photos/uncategorized/2009/05/24/googlesorrywindow1.jpg 
 | 
 | 止めるのが遅れて、さらに検索をかけてしまい、こういうのも表示され、 
 | 会社のネットワークにつながっているPCからのgoogle検索が 
 | VBAからの検索、手入力での検索に拘わらず、全てアクセスブロック。 
 | (もう少し正確に言うと、上記の数字入力のやつが6時間ぐらい表示された。) 
 | http://memo-no-memo.cocolog-nifty.com/photos/uncategorized/2009/05/24/googlesorrywindow2.jpg 
 | 
 | おそらく、同一IPからのgoogle検索が全てブロックされたと思われます。 
 | 会社全体に影響があるので、特に会社でやるのは絶対にやめときましょう。 

 ということで、IEを使ったScrapingはお勧めできない。 
 場合によっては、通常の検索が利用できなくなることもあるようです。 
 (こうした言い方が正確なのか自信はありません。自己責任でどうぞ。) 

 Google Custom Search APIを使うのが正しい対応らしい。 
 例えば、以下を参照。
 https://qiita.com/zak_y/items/42ca0f1ea14f7046108c

 ただし、無料範囲では1日に100トライに限定されている由。 (現在の制約状況は調べて下さい)
 1日単位で上限まで保証されているかといえばそうでもなく、時間ごとの制約もあるらしい。 
 (有料なら価格に応じて拡がる模様) 

 直近の状況は知らないが緩和されているとは思えない。 
 (徐々に厳しくなってきた経緯にあるので、それが反転する理由は乏しいと思われる) 

 無料かつ無制限にGoogle検索を利用できるわけではない、ことは確かでしょう。

 #改行位置変更 11:27

(γ) 2019/04/12(金) 09:26


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.