teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

HTML内img部分の更新

2020/01/27 06:00

投稿

LBciel.
LBciel.

スコア18

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  ▾<div id="Main">
7
7
  ▾<a href="URL1" class"s d a">
8
8
    ▾<div class="img">
9
- <img src="https://...jpg?"
9
+ <img src="https://...jpg?" Srcset="https://...jpg? x1, https://...jpg? x2">
10
10
  </div>
11
11
    ▾<div class="one">
12
12
  ▾<div class="two">

5

下部コメント編集

2020/01/27 06:00

投稿

LBciel.
LBciel.

スコア18

title CHANGED
File without changes
body CHANGED
@@ -121,4 +121,6 @@
121
121
 
122
122
  【getElement】【getElements】等、単体かコレクションかでスタートからやり方が違っていると思うのですが、各々の進め方を理解できるように教えて頂ければ幸いです。
123
123
 
124
- 又、単体とコレクションがあるという事だけしか理解出来ていません。使い方がサイトのHTMLの条件次第ということもHTMLを使用したことがあるため理解しています。これ使えそう!と思ってもそれを使うための技術が無く、根本的にそこからでは出来ないのか出来るのかがわからないのも悩みの種になっています。
124
+ 単体とコレクションがあるという事だけしか理解出来ていません。使い方がサイトのHTMLの条件次第ということもHTMLを使用したことがあるため理解しています。これ使えそう!と思ってもそれを使うための技術が無く、根本的にそこからでは出来ないのか出来るのかがわからないのも悩みの種になっています。
125
+
126
+ 又、ログインが必要なサイトでログインが必要な事は理解できます。ログインするプログラムを作る際、ログインをしているかどうかの確認が必須だと考えております。調べてみたところcookieを利用する等の情報はあるものの詳細が御座いません。下手にログインも含めたプログラムは組まないほうが良いのでしょうか。

4

<a>タグの中に欲しい情報が全て収まっており、ブラウザ上は横並びで一行になっています。

2020/01/26 14:45

投稿

LBciel.
LBciel.

スコア18

title CHANGED
File without changes
body CHANGED
@@ -36,7 +36,8 @@
36
36
  (<a href>内のclassは一部商品を除き同一でした。)
37
37
  もし上記だけでは情報不足という事であれば、その前後も追記致します。
38
38
 
39
- <a>タグの中に欲しい情報が全て収まっており、ブラウザ上は横一列にでいます。
39
+ <a>タグの中に欲しい情報が全て収まっており、ブラウザ上は横並一行になっています。
40
+ <a>タグ1つが1行で、その下URL2,3,4…と下に続いています。その全てをページを変えて抽出が目標となっております。
40
41
 
41
42
  丸投げになっている事は重々理解しています。しかしこの部分だけ丸一日様々なサイトを閲覧し、試してみたもののまったく成果が無く、やむなくこちらのサイトを利用した次第です。
42
43
 

3

下部コメント編集

2020/01/26 14:27

投稿

LBciel.
LBciel.

スコア18

title CHANGED
File without changes
body CHANGED
@@ -113,8 +113,10 @@
113
113
  ※サイトを参考に「これで動いた」程度の理解状況です。使用したものを完璧に理解しているわけでは御座いません。
114
114
  コメント部分の半端なプログラムは、後々使うであろうものを残しています。
115
115
  anchor部分は現状試しているもののエラーで動かない部分です。
116
+
116
117
  ### 出来れば切に希望する教えて頂きたい事
117
- スクレイピングの抽出の流れは外堀から考えていく事だと思うのですが、その方法が全く理解出来ていません。こちらを作成後、今度はPythonでスクレイピングを行う予定ですので、考え方を理解したいと考えております。
118
+ スクレイピングの抽出の流れは外堀から考えていく事だと思うのですが、その方法が全く理解出来ていません。
119
+ こちらを作成後、今度はPythonでスクレイピングを行う予定ですので、考え方を理解したいと考えております。(IEでの操作で対象サイトのドロップダウンするものをクリックしても反映されない等あり、Pythonでの習得も考えております。)
118
120
 
119
121
  【getElement】【getElements】等、単体かコレクションかでスタートからやり方が違っていると思うのですが、各々の進め方を理解できるように教えて頂ければ幸いです。
120
122
 

2

修正依頼更新

2020/01/26 14:12

投稿

LBciel.
LBciel.

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### やりたい事
2
2
  **【URL】【画像】【商品名】【発売日】【値段】**を抜き出してExcel2016に入力する。
3
3
  下記対象サイト
4
- ```ここに言語を入力
4
+ ```HTML
5
5
 
6
6
  ▾<div id="Main">
7
7
  ▾<a href="URL1" class"s d a">
@@ -43,7 +43,76 @@
43
43
  Linksでページ上全てのURLを抜き出す事は出来たのですが、必要な部分がその1/3程で全く使いこなせませんでした。
44
44
  ### 出来ている部分
45
45
  InputBox → ワード入力 → IE起動 → ログインページ → ID・pass入力 → 検索エンジンのあるURLに移動 → 検索エンジンにワード入力 → 検索ページに移動 + 次のページをクリック
46
+ ```Excel
47
+ Sub Wait(ByVal objIE As InternetExplorer)
48
+ ' Dim Lc As Integer
49
+ Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
50
+ DoEvents
51
+ Loop
46
52
 
53
+ ' IE表示待ち(たまに抜けない場合もあるので1万回ループで強制抜け)
54
+ ' Lc = 0
55
+ ' Do While objIE.Busy = True Or objIE.readyState <> 4 Or Lc > 10000
56
+ ' DoEvents
57
+ ' Lc = Lc + 1
58
+ ' Loop
59
+
60
+ End Sub
61
+
62
+ Sub ログイン() '「ツール」「参照設定」「Microsoft HTML Object Library」「Microsoft Internet Controls」忘れずに
63
+
64
+ Dim keyword As String
65
+ keyword = InputBox("検索したいワードを入力してください。")
66
+
67
+ Dim objIE As InternetExplorer '操作するIEを入れる「箱」つまりオブジェクト変数を準備
68
+ Set objIE = New InternetExplorer '箱に新しいIEをセット
69
+
70
+ objIE.Visible = True 'IEを画面に表示する
71
+ objIE.navigate "https://s.com/login/home/?goto=" '管理画面ページのURLを指定
72
+ Wait objIE
73
+
74
+ Dim htmlDoc As HTMLDocument 'HTMLDocumentというHTMLドキュメントを表すオブジェクト
75
+ Set htmlDoc = objIE.document 'InternetExplorerオブジェクトのDocumentプロパティ
76
+
77
+ With htmlDoc
78
+ .getElementById("AccountName").Value = "ЖЖЖ" 'ユーザー名を指定
79
+ .getElementById("Password").Value = "ЖЖЖ" 'パスワードを指定
80
+ .getElementById("Login").Click
81
+ End With
82
+ Wait objIE
83
+
84
+ objIE.navigate "https://s.com/search/" '検索エンジンのあるページへのURLを指定
85
+ Wait objIE
86
+
87
+ With htmlDoc
88
+ .getElementById("store_nav_search").Value = keyword
89
+ .getElementById("store_search_link").Click
90
+ End With
91
+ Wait objIE
92
+
93
+ ' Dim page As Long
94
+ ' For page = 1 To 5
95
+ ' Wait objIE
96
+ ' Set htmlDoc = objIE.document
97
+
98
+ Dim anchor As HTMLAnchorElement
99
+ With htmlDoc
100
+ .getElementById("search_resultsRows").Links
101
+ Debug.Print anchor.href
102
+ End With
103
+
104
+ ' With htmlDoc
105
+ ' .getElementsByClassName("pagebtn")(0).Click
106
+ ' End With
107
+ ' Wait objIE
108
+
109
+ ' Next page
110
+
111
+ End Sub
112
+ ```
113
+ ※サイトを参考に「これで動いた」程度の理解状況です。使用したものを完璧に理解しているわけでは御座いません。
114
+ コメント部分の半端なプログラムは、後々使うであろうものを残しています。
115
+ anchor部分は現状試しているもののエラーで動かない部分です。
47
116
  ### 出来れば切に希望する教えて頂きたい事
48
117
  スクレイピングの抽出の流れは外堀から考えていく事だと思うのですが、その方法が全く理解出来ていません。こちらを作成後、今度はPythonでスクレイピングを行う予定ですので、考え方を理解したいと考えております。
49
118
 

1

更新

2020/01/26 14:02

投稿

LBciel.
LBciel.

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### やりたい事
2
- **【URL】【画像】【商品名】【発売日】【値段】**を抜き出してExcelに入力する。
2
+ **【URL】【画像】【商品名】【発売日】【値段】**を抜き出してExcel2016に入力する。
3
3
  下記対象サイト
4
4
  ```ここに言語を入力
5
5