【VBA×Selenium×初学者向け】Webページのタイトル/URL/リンクの取得方法について

みなさんこんにちは。

WebスクレピングをしているとWebページのタイトルやURL、リンク先などの取得を必要とする場面に遭遇します。

複雑な関数などは必要なく、既存のメソッドを使用するだけで簡単に取得できる内容です。

基本となる内容なので、しっかり覚えてスキルアップしていただければと思います。

この記事はこんな人におすすめ

この記事はこんな人におすすめです!

  • VBAプログラミング:初学者~初級者
  • Webスクレイピング:初学者~初級者
  • コードだけサクッと取得したい人
  • 効率の良いコードを書きたい人

といったところでしょうか。

VBA×Seleniumに関する初学者向けの記事

VBA×Seleniumに関する初学者向けの小ワザやテクニックなどの参考記事については、過去にご紹介しておりますのでそちらもどうぞ。

今回の記事を読むメリット

Webページのタイトル/URL/リンク先の取得方法を知るケースの一例は以下の通りです。

  • データスクレイピングして、エクセル保存したい場合
  • 今後のウォッチ先を、エクセル保存したい場合
  • ウェブクエリで取得したデータの参照元を、保存しておきたい場合

といったところでしょうか。

どれも既にメソッドが準備されていますので、そのまま使用する事で簡単に取得可能です。

スクレイピングを数多く実施していると誰しもが経験する内容かと思います。

且つ忘れずに覚えていくことが作業効率につながります。

一度やり方を覚えてしまえば今後も活かせる内容になるかと思います。

手順紹介

参考サイト

今回は一休というホテルの情報を掲載しているサイトを例にします。

CHECK!

【一休のサイトを見たい人は⇒一休公式HP

また、取得する内容は以下の通りです。

  • Webページのタイトル(①)
  • WebページのURL(②)
  • リンク先のURL(③)

コード紹介

Sub GetWebInfoSample()
    
    Dim driver As New Selenium.WebDriver
    
    ' ブラウザを起動する
    driver.Start "Chrome"  'クロームブラウザを立ち上げます。
    driver.Get "https://www.ikyu.com/" ' 一休サイトにアクセスする
        
    ' 現在表示しているWebサイトのタイトルを取得する
    Debug.Print driver.Window.Title
    
    ' 現在表示しているWebサイトのURLを取得する
    Debug.Print driver.Url
    
    Dim strXpath As String
    strXpath = "/html/body/div[1]/div/div[1]/main/section[1]/section/div/div/ul/div/li[1]/div/a"
    ' 該当するXPathのURL(href)を取得
    Debug.Print driver.FindElementByXPath(strXpath).Attribute("href")
    Stop
    driver.Quit
End Sub

最後に

いかがでしたでしょうか。

Seleniumを使用していると予測不能な謎エラーや疑問に遭遇することが多々あります。

ですので、しっかりマスターして基本を抑えながらと実装できると業務効率も格段に向上するかと思います。

そのきっかけとして、少しでも参考になればと思います。

開発依頼について

ココナラでWebスクレイピング開発サービスを出品しております。

自分で開発をしようと思ったけど、VBAでのネット記事が少なく困っている方も多いかと思います。

そんな方はいつでもお気軽にご相談ください。

また、本ブログからご依頼いただいた方については割引特典がございますので、

ご不明点と合わせてメッセージをいただけると幸いです。

Excelにてブラウザ操作自動化ツールを作成します その作業、webスクレイピングを使って自動化しましょう!

Webスクレイピング以外にもWebアプリの開発サービスも出品しております。

こちらについても、本ブログからご依頼いただいた方については割引特典がございますので、

お気軽にご相談ください。

スモールスケールのWebアプリ開発します 先ずはスモールスケールのWebアプリから始めませんか?

ご興味がある方はこちら!!

コメントを残す

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

CAPTCHA