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

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

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Google スプレッドシート

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

XPath(XML Path)

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

Q&A

2回答

2445閲覧

Xpathで指定した要素を抽出する方法

horse623

総合スコア6

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Google スプレッドシート

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

XPath(XML Path)

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

0グッド

0クリップ

投稿2018/06/04 01:30

前提・実現したいこと

http://shirayuca.github.io/blog/2014/07/27/recipe.html
上記リンク先の記事を見て、別のレシピサイトであるところのNadia(https://oceans-nadia.com/)でも同じことをやってみたいと思い、質問をさせて頂きました。

以下のようなxmlの中から原材料及びその分量を、醤油大さじ3、酒大さじ2、etc...のように一つずつテキスト形式で取得したいと考えています.
今回、レシピ画像の抽出はせずに、レシピ名と原材料とその分量だけを抽出したいです。
そのようなことを実現できるXpathの指定方法はどのような形になるのでしょうか?
教えていただきたいです.

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

該当のソースコード

...
...
</div>

<div class="ingredientArea"> <p class="recipeTime"><time datetime="PT15M" itemprop="cookTime">調理時間:15分(漬け込み時間省く)</time></p> <p class="ingredient" itemprop="yield"><span>材料2人分</span></p> </div> <table> <tr class="ingre_group_A" itemprop="ingredient" itemscope itemtype="http://data-vocabulary.org/RecipeIngredient"> <td class="group">A</td> <td class="group_ingredient"><div itemprop="name"><a href="https://oceans-nadia.com/search?q=%E9%86%A4%E6%B2%B9">醤油</a></div></td> <td itemprop="amount" class="group_amount">大さじ3</td> </tr> <tr class="ingre_group_A" itemprop="ingredient" itemscope itemtype="http://data-vocabulary.org/RecipeIngredient"> <td class="group">A</td> <td class="group_ingredient"><div itemprop="name"><a href="https://oceans-nadia.com/search?q=%E9%85%92">酒</a></div></td> <td itemprop="amount" class="group_amount">大さじ2</td> </tr> <tr class="ingre_group_A" itemprop="ingredient" itemscope itemtype="http://data-vocabulary.org/RecipeIngredient"> <td class="group">A</td> <td class="group_ingredient"><div itemprop="name"><a href="https://oceans-nadia.com/search?q=%E6%9C%AC%E3%81%BF%E3%82%8A%E3%82%93">本みりん</a></div></td> <td itemprop="amount" class="group_amount">大さじ1</td> </tr> <tr class="ingre_group_A" itemprop="ingredient" itemscope itemtype="http://data-vocabulary.org/RecipeIngredient"> <td class="group">A</td> <td class="group_ingredient"><div itemprop="name"><a href="https://oceans-nadia.com/search?q=%E3%83%90%E3%83%AB%E3%82%B5%E3%83%9F%E3%82%B3%E9%85%A2">バルサミコ酢</a></div></td> <td itemprop="amount" class="group_amount">小さじ1</td> </tr> <tr class="ingre_group_ " itemprop="ingredient" itemscope itemtype="http://data-vocabulary.org/RecipeIngredient"> <td class="group"> </td> <td class="group_ingredient"><div itemprop="name"><a href="https://oceans-nadia.com/search?q=%E3%83%9E%E3%82%B0%E3%83%AD">マグロ</a></div></td> <td itemprop="amount" class="group_amount">120g</td> </tr> </table>

...
...

試したこと

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

guest

回答2

0

参考としてあげられたサイトのB6セルのところに書いてあるものを↓のようにすれば、取り出せないこともないです。

google

1=importxml(B2,"//*[@itemprop='ingredient']")
  • cockpadと異なり、もともと表なので、transposeが消えています
  • cockpadと異なり、もともと表で、かつ材料のグルーピングがあるため、3列の表になります。

3列になる点なのですが、正直「パソコン回りの知識はめっきり」ではこれ以上どうしようもないと思うので諦めてください。
(参考サイトと同じようにスプレッドシートを使うなら、3列(ABC,DEF,…)がワンセットになるようなデザインにして対応してください)

投稿2018/06/04 02:24

papinianus

総合スコア12705

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

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

0

投稿2018/06/04 01:37

tkturbo

総合スコア5572

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

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

horse623

2018/06/04 01:59

当方、料理に関する知識には多少の覚えがありますが、パソコン周りの知識はめっきりでございまして(笑) 色々と調べた結果、歯が立たなかったのでご質問させて頂きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問