質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2818閲覧

Excel vba スクレイピング alt要素を取得したい

masa1975

総合スコア22

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/08/21 23:16

質問を見て頂きありがとうございます。
あるサイトの情報収集の為、スクレイピングを実行しようとしています。
そのサイトのalt要素を取得したいのですが、方法がわかりません。
下記のhtmlになります。

html

1 2<a href="https://hoge.jpg" expid="10000002" data-ratparam="all" data-ratid="itempopup_1" data-ratevent="click" class="ImageMain1-3"> 3<img src="https://thumbnail.image.hoge.co.jp/@0_mall/garagezero/cabinet/partscleaner/gse004.jpg?_ex=200x200&amp;s=0&amp;r=1" expid="10000002" border="0" alt="ここが欲しい"><br> 4</a>

上記のalt要素を取得したいのですが

vba

1 2For Each img In objIE.document.getElementsByClassName("ImageMain1-3") 3 4 Debug.Print img.outerHTML 5 6Next img

これを実行すると

html

1<a href="hoge" expid="10000002" data-ratparam="all" data-ratid="itempopup_1" data-ratevent="click" class="ImageMain1-3"> 2     <imgsrc="https://thumbnail.image.hoge.co.jp/@0_mall/" expid="10000002" border="0" alt="ここを取得したい"> 3

ここまで取得したいのですがこの先altを取得する方法をご教授いただけましたら幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/22 02:50 編集

> あるサイトの情報収集の為、スクレイピングを実行しようとしています。 その「あるサイト」の管理者に了解を得てますか? クローラを作ってあるサイトにアクセスしたら業務妨害とかで逮捕された事例もありますので、甘く考えない方が良さそうです。
guest

回答2

0

altプロパティとは
Imagesメソッドのaltプロパティは指定した画像要素のalt属性の値を取得するプロパティです。

変数 = objIE.document.images(添え字).alt
objIE.document.images(添え字).alt = "設定するalt属性の値"

参考HP

投稿2021/08/22 03:54

sobue

総合スコア331

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masa1975

2021/08/23 23:02

ありがとうございました!
guest

0

ベストアンサー

すでにsobueさんが回答されていますが、
タグ内のパラメタ値は「getAttribute」でも採取できます
Element.getAttribute(MDN Web Docs)

imgオブジェクトを採取して(Aタグ配下のIMGタグのオブジェクト採取方法は
わかりますよね?)

imgObj.getAttribute("alt")

でテキストとして取り出せます。
パラメタのキーが指定できますので、こちらは汎用的に使えます。

投稿2021/08/23 02:08

編集2021/08/23 02:12
h.horikoshi

総合スコア505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masa1975

2021/08/23 23:02

ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問