Excel(VBA)からBraveブラウザを使って広告レスでスクレイピングをする方法

Braveブラウザを使ってスクレイピングをすると広告レスでスクレイピングができます。
Excel(VBA)とSeleniumBasicを使ってスクレイピングをしてみます。

準備

Braveブラウザ

BraveブラウザはChromeでも使われているChromiumコンポーネントを使ったブラウザです。
高速&セキュアを謡い、標準で広告ブロッカーが組み込まれています。

広告ブロッカーで、セキュアで高速なプライベートウェブブラウジング | Brave Browser
The Brave browser is a fast, private and secure web browser for PC, Mac and mobile. Download now to enjoy a faster ad-free browsing experience that saves data a...

SeleniumBasic

Excel VBAからBraveブラウザを使ってスクレイピングをするために、SeleniumBasicのインストールが必要です。
インストール方法は以下の記事を参考にしてください。

Excel VBAからBraveブラウザを使ってスクレイピングをするプログラム

価格.comからSSDの値段を取得してみます。

SSD - パソコンの通販・価格比較 - 価格.com
"SSD"(パソコン)をお探しなら価格.comへ。全国のネットショップの価格情報や、人気のランキング、クチコミなど豊富な情報を掲載しています。たくさんの商品の中からあなたが探している"SSD"を比較・検討できます。

VBAプログラム

Sub Main()
    Dim driver As New ChromeDriver
    Dim elmLoop As WebElement
    
    With New ChromeDriver
        .SetBinary Environ$("LOCALAPPDATA") & _
                  "\BraveSoftware\Brave-Browser\Application\brave.exe"
        
        'プライベートブラウジング
        .AddArgument "-incognito"
        
        'Tor経由でスクレイピングを使う場合
        '.AddArgument "--proxy-server=socks5://localhost:9050"
        
        .Get "https://kakaku.com/search_results/SSD/?category=0001&act=Input&lid=pc_ksearch_searchbutton_top"
        For Each elmLoop In .FindElementsByClass("c-list1_cell")
            Debug.Print elmLoop.FindElementByClass("p-item_name").Text,
            Debug.Print elmLoop.FindElementByClass("p-item_price_num").Text
            Debug.Print elmLoop.FindElementByTag("A").Attribute("HREF")
            Debug.Print
        Next
        
        
    End With
End Sub

実行結果

コメント

タイトルとURLをコピーしました