質問: 初めまして、googleスプレッドシートにてIMPORTXMLを使用してyoutubeの動画再生ページの再生数等の情報を取得したいのですが、XPathをchromeの開発ツールでコピーして貼り付けても、 「エラー インポートしたコンテンツは空です。」と表示されてしまいます。 また、自分のチャンネルの動画ではないためyoutubeのAPIを使用することもできません。 ※youtube以外のサイトでは上記の方法で正常にデータを取得できています。 XPathの指定の仕方が間違っているのでしょうか。 色々と調べてみてはいるのですが、なかなか答えが見つからない状況です。 以上、よろしくお願いいたします。 追記 記入している値や関数を記載させていただきました。 また、下記URLに実際にエラーが起きているスプレッドシートのURLを記載しました。 URL:https://docs.google.com/spreadsheets/d/1cs-v66UUHoDHNWGa2dMUB1DlQR8peTfe7zMiwUtafZ8/edit?usp=sharing -------------------------------------------------------------------------------------------------------- ■A1のセル youtubeの動画再生ページのURL 例:https://www.youtube.com/watch?v=DwSm4WaE168 ■B2のセル =IMPORTXML(A1,F1) ■F1のセル //*[@id="count"]/yt-view-count-renderer/span[1] -----------------------------------------------
回答: importxmlは万能じゃないので、できるページはできるけど、できないページはできないと考えたほうが良いと思います。 特定のページでのみ取得できない(他ではできる)の質問は私がteratailで見た限りでもこれで3件目です。 -- 追記 納得なさらないのか、もうチェックしなくなったのか。 見分けるための方法として、chromeでページのソースを見てください。そこにcopy xpathでやったのと同じタグが明らかにないですよね、youtubeの場合。 これは無理です。ブラウザで見ることを前提に、動的に描画しているので、xmlが取れません。 対応できているという他のサイトは、ソースで見ても同じタグがあるはずです。