ゴリラストロングの雑記帳

エクセルマクロの簡単なサンプルコードを掲載しています

【VBA】ウェブスクレイピングのサンプルコード。ページのテキストを取得する。

どうも、ゴリラストロングです。

 

今回はVBAで、ウェブスクレイピングのサンプルコードとして、ページのテキストを取得するマクロを作成してみました。

 

<元データ>

f:id:gorilla-strong:20200327105404p:plain

A列には取得先のURLをあらかじめ入力してあります。

B列にページのテキストを取得して出力します。

 

<マクロ実行後>

f:id:gorilla-strong:20200327105631p:plain

ページのテキストが転記できています。

動作としては以上です。

 

 

 スポンサーリンク

 

 

ソースコード

Sub スクレイピング()

Dim ws As Object
Set ws = ThisWorkbook.Worksheets(1)

Dim lastrow As Long
lastrow = ws.Cells(Rows.Count, 1).End(xlUp).Row



For i = 3 To lastrow

Dim URL As String
URL = ws.Range("A" & i)

Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")


With IE
    .navigate URL
    .Visible = True
    
    Do While .Busy = True
        DoEvents
    Loop
    
    Do While .document.readyState <> "complete"
        DoEvents
    Loop

    Dim buf As String
    buf = .document.body.innerText
    .Quit
End With

Set IE = Nothing

ws.Range("B" & i) = Left(buf, 256)


Dim myStr As String
myStr = Replace(ws.Range("B" & i), vbLf, "")
ws.Range("B" & i).Value = myStr


Next


End Sub

 

 

以上、ゴリラストロングでした。

 

 スポンサーリンク