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

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

準備

Braveブラウザ

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

広告ブロッカーで、セキュアで高速なプライベートウェブブラウジング | Brave
Braveブラウザは、PC、Mac、モバイル端末で使用できる高速でプライベートかつ安全なWebブラウザです。今すぐダウンロードして、トラッキングソフトウェアのブロックによるデータとバッテリーを節約した、より高速な広告のないブラウジング体験を...

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"

        '非表示
        '.AddArgument "--headless"

        '画像を読み込ませない
        '.AddArgument "--blink-settings=imagesEnabled=false"
        
        '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をコピーしました