回答編集履歴

5

追記:リスクについて実例を追記

2016/11/25 08:08

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -9,6 +9,8 @@
9
9
 
10
10
 
11
11
  ※googleさんは自動アクセスによる検索および検索結果の取得にはかなり敏感なので直ぐにアクセス拒否されますのでご注意ください。
12
+
13
+ 実例:[(https://teratail.com/questions/48425)open-uriでgoogle検索結果を取得しようとすると、503 Server Unavable (OpenURI::HTTPError)がでる](https://teratail.com/questions/48425)
12
14
 
13
15
 
14
16
 

4

コード修正

2016/11/25 08:08

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  とりあえずできない回答だけではなんですので、
4
2
 
5
3
  検索したい文字列を指定して検索結果のページを表示するだけなら以下のコードで可能です。
@@ -28,7 +26,9 @@
28
26
 
29
27
  Set ie = CreateObject("InternetExplorer.Application")
30
28
 
29
+ ' 「ほげほげ」を検索 (「ほげほげ」をURLエンコードしたものが「%82%D9%82%B0%82%D9%82%B0」)
30
+
31
- ie.Navigate "http://www.google.co.jp/"
31
+ ie.Navigate "https://www.google.co.jp/search?q=%82%D9%82%B0%82%D9%82%B0"
32
32
 
33
33
  ie.Visible = True
34
34
 

3

追記:検索したい文字列を指定して検索結果のページを表示するコード

2016/11/25 08:01

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,3 +1,61 @@
1
+
2
+
3
+ とりあえずできない回答だけではなんですので、
4
+
5
+ 検索したい文字列を指定して検索結果のページを表示するだけなら以下のコードで可能です。
6
+
7
+ ※ 「ほげほげ」を検索したい場合
8
+
9
+ https://www.google.co.jp/search?q=ほげほげ
10
+
11
+
12
+
13
+ ※googleさんは自動アクセスによる検索および検索結果の取得にはかなり敏感なので直ぐにアクセス拒否されますのでご注意ください。
14
+
15
+
16
+
17
+ ```VBScript
18
+
19
+ use_ie
20
+
21
+
22
+
23
+ Sub use_ie()
24
+
25
+
26
+
27
+ ' IE起動
28
+
29
+ Set ie = CreateObject("InternetExplorer.Application")
30
+
31
+ ie.Navigate "http://www.google.co.jp/"
32
+
33
+ ie.Visible = True
34
+
35
+ waitIE ie
36
+
37
+ ' 1件目のサイトのタイトルを表示
38
+
39
+ ' ここは省略
40
+
41
+ MsgBox "参照されているページのコードでは取れないのでご自分でDOMを解析してコードを書いてください。"
42
+
43
+ ' 制御を破棄
44
+
45
+ ie.Quit
46
+
47
+ Set ie = Nothing
48
+
49
+ End Sub
50
+
51
+ ```
52
+
53
+
54
+
55
+ ---
56
+
57
+
58
+
1
59
  「JScript / VBScript (WSH)で,IEを自動操作しよう」のページが書かれたのは2009年7月13日です。
2
60
 
3
61
  参照されているページが古すぎます。
@@ -23,3 +81,5 @@
23
81
 
24
82
 
25
83
  スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。
84
+
85
+

2

追記

2016/11/25 07:58

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -2,8 +2,24 @@
2
2
 
3
3
  参照されているページが古すぎます。
4
4
 
5
+ 今時点では、id属性に"q"を持つ要素はgoogle.co.jpのページには存在しません。参照されたコードに記載されているその他の要素も存在しないでしょう。
6
+
7
+
8
+
9
+ ```Javascript
10
+
11
+ ie.document.getElementById("q").value
12
+
13
+ ```
14
+
15
+
16
+
5
17
  urlも```http://www.google.co.jp/```ではなく今は```https://www.google.co.jp/```です。
18
+
19
+
6
20
 
7
21
  当時はこれで動作したと思いますが、今時点ではgoogle.co.jpのページは当時とは別物になってます。
8
22
 
23
+
24
+
9
25
  スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。

1

文言修正

2016/11/25 07:10

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -6,4 +6,4 @@
6
6
 
7
7
  当時はこれで動作したと思いますが、今時点ではgoogle.co.jpのページは当時とは別物になってます。
8
8
 
9
- スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟して使用しましょう。今日動いたとしても明日動くとは限りません。
9
+ スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。