2021.05.07今回WebブラウザとしてChromeでのWebスクレイピングを勉強しました。理解には複数のサイト閲覧が必要だったのでその備忘録も含めてまとめて記載します。結論としては最初のSelenium立ち上げのコードさえ覚えてしまえばあとは少しのメソッドの利用で誰でもテキストを取得できます(IEは取得などに色々なコードの勉強が必要なのですがこちらはすごく簡単です)「ここだけ覚えておけばいい」という必要なところだけをまとめていますので参考になれば幸いです。手っ取り早くスクレイピングを体験したいという方はこちらをどうぞ。Yahooメールを例としてサイトの取得からクリック、パスワードの入力といった基本操作について記載しています。【SeleniumBasic】Yahooメールへのログイン方法をわかりやすく説明する(Chrome)こんにちは。今回はSeleniumBasic-Chromeを用いたYahooメールへのログイン方...powervbadesktop.com2021.10.02VBAを使ったものではありませんが、Seleniumを勉強する為の基本的な書籍です。各言語における基本的なメソッド一覧も記載されていますのでコードを書く際の参考になります。リンクVBAの書籍の中でSeleniumBasicを取り上げている数少ない書籍です。ページ数としては20ページほどですがとてもわかりやすく書かれています。VBA全般を網羅した内容が書かれており、長く使用することができます。VBAへの参照設定が必要となります。これらの設定方法については以下の記事に詳しくまとめていますのでご確認ください。【SeleniumBasic】【2022年10月版】VBAスクレイピングに必要なSeleniumBasicのインストール方法教えます(Chrome)VBAでスクレイピングやってみたいけどどうやればいい?準備に時間がかかって面倒そうVBAスクレイピ...powervbadesktop.com2021.04.23この記事の構成Webスクレイピングにおいては以下の3つが基本になります。以下で詳しく説明します。以下ブラウザ操作に関するメソッドを集めています。Chromeの起動(Startメソッド)Seleniumを使用する為にはまず変数Driverが必要になります。ここだけはコピペがいいと思います。Chromeの起動はDriverに対してStartメソッドを使います。"Chrome"Webページへの遷移(Getメソッド)指定のWebページへ遷移したい場合は、定義したDriverに対してGetメソッドを使用します。'新規URLの立ち上げDriver.Get("URL")新しいタブに移る(SwithToNextWindowメソッド)Webページによっては途中新規タブが開く場合があります。制御は新規タブには移らない為エラーになってしまいます。それを解消するのがSwitchToNextWindowメソッドになります。'新しいタブに移るDriver.SwitchToNextWindow新しいタブを開いて新規URLを開く(ExecuteScriptメソッド)別のURLを新規タブとして開いて操作したい場合は、ExecuteScriptメソッドを利用します。()内にJavaScriptのコードを記載します。’新規タブを開いて新規URLを開くDriver.ExecuteScript("window.open('URL')")JavaScriptを用いたコードを勉強されたい方はこちらもどうぞ。(Seleniumにまだ慣れられてない方は気にされなくて結構です)。【SeleniumBasic】JavaScriptを使ってスクレイピングをしてみる1こんにちは、blueです。・思った結果にならないといったことはないでしょうか?この記事を読めば・Web上のJavaScriptが読めるようになる・SeleniumにJavaScriptのコードを書けるようになりますので是非読んでいってください。以下取得に関するメソッドを集めています。テキストの取得(FindElementByCssメソッド+Text)Chromeにおける要素の取得は非常に簡単で、基本はDriverに対してFindElementByCssメソッド一択で問題ないです。文字の取得にはTextプロパティを使用します。’要素の取得(文字の場合)Driver.FindElementByCss("cssコード").Textなおcssコードの取得方法は以下になります。Selector」でcssを取得するあとはFindElementByCssの引数にコピーすればOKです。文字列なので””で囲うことを忘れないようにしてください。以下入力に関するメソッドを集めています。Webページ内のテキストフィールドに入力する(SendKeysメソッド)テキスト入力は取得した要素に対してSendKeysメソッドを使用することで可能です。"テキスト”Webページ内をクリックする(Clickメソッド)Submitボタンやラジオボタンやチェックリスト、リンクテキストなど押す操作に関しては取得した要素に対してClickメソッドを使用することですべて可能です。’ClickするDriver.FindElementByCss("cssコード").ClickWebページ内のドロップダウンリストの値を設定する(AsSelect.Selectby〇〇〇メソッド)リストの選択に関しては取得した要素に対してAsSelect.Selectby〇〇〇メソッドを使用することですべて可能です。選択方法により3種類ありますが一番わかりやすいのはAsSelect.SelectbyTextメソッドです。'テキストで選択ここでのまとめSeleniumでChromeを操作するのは非常に簡単です。Driverに対して少しのメソッドを利用するだけで多くのことができますのでぜひ利用してみてください。VBAを使ったものではありませんが、Seleniumを勉強する為の基本的な書籍です。各言語における基本的なメソッド一覧も記載されていますのでコードを書く際の参考になります。リンクVBAの書籍の中でSeleniumBasicを取り上げている数少ない書籍です。ページ数としては20ページほどですがとてもわかりやすく書かれています。VBA全般を網羅した内容が書かれており、長く使用することができます。リンク↓困ったときは以下が頼りになります。私も利用させてもらってます😊。Notify)1VBAの資格に興味を持たれた方はこちらがお勧めです。筆者自身の一からの体験を記事にしており、初めての方目線で読んでいただけるようになっています。合格への道筋をわかりやすく解説しますはじめまして。VBAやクエリを使って自動化業務を行っているblueといいます。APIを使って時間別天気予報を取得する(OpenWeatherMap)こんにちは、blueです。今回は同じOpenWeatherMapにて5日間の天気予報を取得します。HTTPリクエストからレスポンスまでの流れは前回と変わりませんが、取得後の処理は少し躓きポイントがあります。今回はそれらを主にまとめましたので参考にしていただければ幸いです。HTTPリクエストこんにちは、blueです。今回はVBAを用いたHTTPリクエストについて紹介します。VBAでHTTPリクエストと聞くと難しく感じるかもしれません。実際のコード自体は短く、専用のオブジェクトとメソッドを理解すれば簡単にできます。VBAの使用範囲も広がりますのでぜひ勉強していってくださいVBAスクレイピング【SeleniumBasic】スクレイピングでのファイルのアップロードの仕方について説明しますスクレイピングにおけるファイルのアップロード方法について説明します。この方法を使えばファイルのダイアログを表示させないでアップロードさせることができます。API)補足こんにちは、blueです。APIを用いたコードについて補足説明します。PM大変参考になる情報、ありがとうございます。記事最後の「VBAでのスクレイピングに関しての記事は以下をどうぞ」からのリンクですが、リンク切れとなっているように思います。PMコメントありがとうございます。リンク切れご指摘ありがとうございました😊。確かにcomがついていなかったです。多くの範囲にわたるのでご指摘ありがとうございました。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームVBAスクレイピングスポンサーリンクプロフィールblue40代(妻&子供2人)モノづくり企業の管理職です。モノづくりへの探求心を生かして現在はVBAで管理業務の効率化、マネジメント能力の向上を目指しています。DesktopからVBAを学ぶ.メニューTOPVBAでの操作VBAスクレイピングVBAエキスパートクエリとピボットお問い合わせホーム検索トップサイドバースポンサーリンクプロフィールblue40代(妻&子供2人)モノづくり企業の管理職です。モノづくりへの探求心を生かして現在はVBAで管理業務の効率化、マネジメント能力の向上を目指しています。作者について英会話タイトルとURLをコピーしました。