*

Internet Explorerを操作 – 情報を探して取得

公開日: : 最終更新日:2013/12/18 IE操作 , ,

Sub tmp_002()
Dim objIE As Object
Dim obj As Object
Dim url As String
Dim sName(50) As String
Dim cnt As Integer
url = "http://itp.ne.jp/result/?kw=%91%E5%8D%E3%95%7B&ad=27&sa=27"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate url
Do While objIE.Busy = True
	DoEvents
Loop
For Each obj In objIE.Document.getElementsByTagName("h2")
	 If obj.className = "" Then
		 sName(cnt) = obj.innerText
		 cnt = cnt + 1
	 End If
 Next
Debug.Print sName(0) & vbCrLf & sName(1) & vbCrLf & sName(2)
Set objIE = Nothing
End Sub

webページを開いて表示されたデータを取得する。

例としてタウンページのここの頁をターゲットとします。見ると大阪府の事業所がずらっと並んでます。今回はこの中からお店の名前を抜き取ってイミディエイトウィンドウ(Visual Basicの表示から選べます)に表示させます。

まずはソースコードを開き、店の名前を探します。

すると

例:<h2><a href = “xxxxxxxxxxxx”> XX商事 </a></h2>

のような形で<h2>というタグの中に入っています。ソースコードを”h2”で検索すると店の名前は<h2>のタグに入っていることがわかります。そこで

For Each Obj In objIE.Document.getElementsByTagName("h2")
Next

を使います。今見ているページから”h2”というタグを持った要素をすべて選び”Obj”の中に入れます。そして

sName(cnt) = Obj.innerText</p>

店の名前を取り出して配列に入れていきます。

途中の

If Obj.className = "" Then
End If

ですが、実は<h2>のタグがついているものは店の名前が入っているものだけでは無く要らないものも混じっています。例えば

<h2 class=”title first address”  id=”adheader_h2″><a href=”#” id=”adheader_a”>住所から絞り込む</a></h2>

です。そこで<h2>タグをすべて見てみると、お店の名前が入っているのはclassが設定されていないものだとわかります。IF文でclassの名前が入っているかどうかを調べてinnerTextを取り出すようにします。*

取り出したのをdebug.printで表示してさせて終わりです。

同じようなやりかたで住所と電話番号を取り出しcsvファイルに電話帳として保存したりするにはこっちを参考にします。

 

 

 

 

 

 

admax_area



関連記事

no image

Internet Explorerを操作 – formに入力して送信

ID: PASSWORD: SEX:malefemalebitch OPTION:fatb

記事を読む

no image

Internet Explorerを操作 – URLを開く

Sub tmp_001() Dim objIE As Object Dim url As S

記事を読む

admax_area



Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

admax_area



PAGE TOP ↑