[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Google検索をして、その下に検索結果(URL)を表示』(デイズ)
A列1行から、ずっと右へキーワードが記入されています。
調べたいキーワードは、400近くあります。
その1行目にあるキーワードをGoogle検索をして、
検索結果のURLだけを、そのキーワードの下に表示させたいです。
検索結果は全部で10ページくらい、大体100個のURLになるかと思います。
(youtube動画や広告などは含めないです)
このようなことは、Excelのマクロでできるでしょうか?
できるとしたら、どのようなマクロの記述になるでしょうか?
< 使用 Excel:Excel2016、使用 OS:Windows10 >
webスクレイピングしようとするなら、自分でかなり調べ上げないと、HTML毎に適した方法が全然違ってくるので、頑張ってください。
(???) 2019/04/10(水) 10:25
『Google検索をして、その下に検索結果(URL)を表示』
よろしくお願いいたします。
(デイズ) 2019/04/10(水) 21:27
前に書いたコードで得た検索結果には、"g" というクラス名が付けられています。 先頭の検索結果だけで良いなら、これの0番目の情報だけ使えば良いでしょう。
その下にある"LC20lb" というクラスで得られるのが見出しの文字列であり、"a"タグを指定して得られるURLが、目的のものでしょうね。 あとはこれを、列数分ループさせるだけです。
(???) 2019/04/11(木) 09:54
別掲示板にお引越ししたみたいですね。 (コナミ) 2019/04/11(木) 14:13
知恵袋でも質問していますね。 (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.