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

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

新規登録して質問してみよう
ただいま回答率
85.39%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

XPath(XML Path)

XML Path Language (XPath; XMLパス言語)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文の事をいいます。XPathはXMLとは別の構文を使用します。XMLドキュメントの抽象、論理ストラクチャ上で動作します。

Q&A

解決済

2回答

26078閲覧

IMPORTXMLでインポートしたコンテンツは空ですとエラーが出てしまいます。

KoheiNumasawa

総合スコア13

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

XPath(XML Path)

XML Path Language (XPath; XMLパス言語)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文の事をいいます。XPathはXMLとは別の構文を使用します。XMLドキュメントの抽象、論理ストラクチャ上で動作します。

0グッド

0クリップ

投稿2018/10/19 07:51

前提・実現したいこと

当方、Googleスプレッドシート使用初心者です。

Googleスプレッドシートでプレスリリースサイトのリリース元情報リストを作成しています。
A2に入力されたURLから、企業名を取得する関数の作成中です。

企業名をIMPORTXMLで取得中にエラーメッセージが発生しました。

いくつかサイトを回ってみましたが、具体的な解決策が見つからず、
お力お貸しいただけますと幸いです。

◆取得元
https://prtimes.jp/main/html/rd/p/000000417.000006823.html

◆取得したXPath
//*[@id="sidebar"]/aside[1]/h2

◆作成した関数
=IMPORTXML(A2,"//*[@id='sidebar']/aside[1]/h2")

発生している問題・エラーメッセージ

エラー インポートしたコンテンツは空です。

該当のソースコード

企業名は伏せて記述させていただきます。

HTML

1<div id="sidebar" class="sidebar"> 2 <aside class="sidebar-release"> 3 <h2>株式会社○○</h2> 4 <p class="sidebar-releaseArrow"></p>

試したこと

どこから手を付けてよいかわからず。
=IMPORTXML(A2,"//*[@class='sidebar-release']/aside[1]/h2")

に変えてみたりなど、初心者なりにいじくり回しましたが、さっぱりです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

  • 色々と試行錯誤した結果
=IMPORTXML(A1,"//*[@id='sidebar']")

これをB1セルに書くと、B1からU1までうまる。
欲しい社名はB1に入るので、それを他のセルで=B1とかするしかない。

欲しいタグがどう書けば取れるかは、Xpathとしての妥当性とIMPORTXMLの対応があって、多分試行錯誤を重ねるしかないです。

投稿2018/10/25 08:24

papinianus

総合スコア12705

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

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

KoheiNumasawa

2018/10/25 08:36

(ヽ'ω`)なるほど。。。 お手数おかけしました。 頂いた案ですと、別シート(サブ)にくっつけて、 メインシートで =B1 などにすると形綺麗になりそうですね・・・ありがとうございます!
papinianus

2018/10/25 09:04

とってくるシートと、表示シートを分ける案は良いと思います。その場合`=サブシート!B1`みたいにシート名+!+セル番地で引用できます
KoheiNumasawa

2018/10/25 09:07

やはりそのあたりはEXCELと使用は同じなのですね! ありがとうございます! シートを別にして(サブ)、いただいた関数をサブで動かし、サブで抽出されたものをメインのほうでさらに=サブシート!B1の形で行ったところ正常に動作することが出来ました! ありがとうございました!m(_ _)m
guest

0

社名はこの関数でできました。
metaタグに社名があったので、そこを指定しました。

=importxml(URL,"//meta[@name='release:company']/@content")

社名やアプリ名などをデベロッパーツール開いてからCtrlFで探すと ある箇所で取れなくても回避策があったりするっぽいですね

投稿2019/05/09 01:56

YutoTakagi

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.39%

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

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

質問する

関連した質問