回答編集履歴
5
追記:リスクについて実例を追記
answer
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
https://www.google.co.jp/search?q=ほげほげ
|
5
5
|
|
6
6
|
※googleさんは自動アクセスによる検索および検索結果の取得にはかなり敏感なので直ぐにアクセス拒否されますのでご注意ください。
|
7
|
+
実例:[(https://teratail.com/questions/48425)open-uriでgoogle検索結果を取得しようとすると、503 Server Unavable (OpenURI::HTTPError)がでる](https://teratail.com/questions/48425)
|
7
8
|
|
8
9
|
```VBScript
|
9
10
|
use_ie
|
4
コード修正
answer
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
とりあえずできない回答だけではなんですので、
|
3
2
|
検索したい文字列を指定して検索結果のページを表示するだけなら以下のコードで可能です。
|
4
3
|
※ 「ほげほげ」を検索したい場合
|
@@ -13,7 +12,8 @@
|
|
13
12
|
|
14
13
|
' IE起動
|
15
14
|
Set ie = CreateObject("InternetExplorer.Application")
|
15
|
+
' 「ほげほげ」を検索 (「ほげほげ」をURLエンコードしたものが「%82%D9%82%B0%82%D9%82%B0」)
|
16
|
-
ie.Navigate "
|
16
|
+
ie.Navigate "https://www.google.co.jp/search?q=%82%D9%82%B0%82%D9%82%B0"
|
17
17
|
ie.Visible = True
|
18
18
|
waitIE ie
|
19
19
|
' 1件目のサイトのタイトルを表示
|
3
追記:検索したい文字列を指定して検索結果のページを表示するコード
answer
CHANGED
@@ -1,3 +1,32 @@
|
|
1
|
+
|
2
|
+
とりあえずできない回答だけではなんですので、
|
3
|
+
検索したい文字列を指定して検索結果のページを表示するだけなら以下のコードで可能です。
|
4
|
+
※ 「ほげほげ」を検索したい場合
|
5
|
+
https://www.google.co.jp/search?q=ほげほげ
|
6
|
+
|
7
|
+
※googleさんは自動アクセスによる検索および検索結果の取得にはかなり敏感なので直ぐにアクセス拒否されますのでご注意ください。
|
8
|
+
|
9
|
+
```VBScript
|
10
|
+
use_ie
|
11
|
+
|
12
|
+
Sub use_ie()
|
13
|
+
|
14
|
+
' IE起動
|
15
|
+
Set ie = CreateObject("InternetExplorer.Application")
|
16
|
+
ie.Navigate "http://www.google.co.jp/"
|
17
|
+
ie.Visible = True
|
18
|
+
waitIE ie
|
19
|
+
' 1件目のサイトのタイトルを表示
|
20
|
+
' ここは省略
|
21
|
+
MsgBox "参照されているページのコードでは取れないのでご自分でDOMを解析してコードを書いてください。"
|
22
|
+
' 制御を破棄
|
23
|
+
ie.Quit
|
24
|
+
Set ie = Nothing
|
25
|
+
End Sub
|
26
|
+
```
|
27
|
+
|
28
|
+
---
|
29
|
+
|
1
30
|
「JScript / VBScript (WSH)で,IEを自動操作しよう」のページが書かれたのは2009年7月13日です。
|
2
31
|
参照されているページが古すぎます。
|
3
32
|
今時点では、id属性に"q"を持つ要素はgoogle.co.jpのページには存在しません。参照されたコードに記載されているその他の要素も存在しないでしょう。
|
@@ -10,4 +39,4 @@
|
|
10
39
|
|
11
40
|
当時はこれで動作したと思いますが、今時点ではgoogle.co.jpのページは当時とは別物になってます。
|
12
41
|
|
13
|
-
スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。
|
42
|
+
スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。
|
2
追記
answer
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
「JScript / VBScript (WSH)で,IEを自動操作しよう」のページが書かれたのは2009年7月13日です。
|
2
2
|
参照されているページが古すぎます。
|
3
|
+
今時点では、id属性に"q"を持つ要素はgoogle.co.jpのページには存在しません。参照されたコードに記載されているその他の要素も存在しないでしょう。
|
4
|
+
|
5
|
+
```Javascript
|
6
|
+
ie.document.getElementById("q").value
|
7
|
+
```
|
8
|
+
|
3
9
|
urlも```http://www.google.co.jp/```ではなく今は```https://www.google.co.jp/```です。
|
10
|
+
|
4
11
|
当時はこれで動作したと思いますが、今時点ではgoogle.co.jpのページは当時とは別物になってます。
|
12
|
+
|
5
13
|
スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。
|
1
文言修正
answer
CHANGED
@@ -2,4 +2,4 @@
|
|
2
2
|
参照されているページが古すぎます。
|
3
3
|
urlも```http://www.google.co.jp/```ではなく今は```https://www.google.co.jp/```です。
|
4
4
|
当時はこれで動作したと思いますが、今時点ではgoogle.co.jpのページは当時とは別物になってます。
|
5
|
-
スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟して
|
5
|
+
スクレイピングする場合は、対象のページが変更されれば動作しなくなることを知った上で覚悟してプログラム開発および実行をしましょう。今日動いたとしても明日動くとは限りません。
|