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をコピーしました