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

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

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

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

Q&A

解決済

1回答

803閲覧

XPath わからない

kickthekaz

総合スコア29

XPath(XML Path)

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

0グッド

0クリップ

投稿2020/04/05 08:12

スクレイピングを行いたいのですが、うまくできないので困っています。
xpathの使い方が分かる方ご教授いただけませんでしょうか。

以下のようなhtmlなんですが、「タイトルA」のテーブルのtdの情報が欲しいです。
ですが、現状では、全てのテーブルのtdがとれてしまいます。

html

1 2<body> 3 <div class="aaa"> 4 <div class="bbb"> 5 <div class="ccc"> 6 <h2 class="ddd"> 7 <span>タイトルA</span> 8 </h2> 9 </div> 10 </div> 11 <div class="tbl"> 12 <table class="def-tbl"> 13 <tbody> 14 <tr> 15 <th>あああああああ</th> 16 <td>いいいいいいい</td> 17 </tr> 18 <tr> 19 <th>うううううううう</th> 20 <td>おおおおおおおお</td> 21 </tr> 22 <tr> 23 <th>カカカカカカかか</th> 24 <td>ききキキキキ聴き</td> 25 </tr> 26 </tbody> 27 </table> 28 </div> 29 <div class="bbb"> 30 <div class="ccc"> 31 <h2 class="ddd"> 32 <span>タイトルB</span> 33 </h2> 34 </div> 35 </div> 36 <div class="tbl"> 37 <table class="def-tbl"> 38 <tbody> 39 <tr> 40 <th>あああああああ</th> 41 <td>いいいいいいい</td> 42 </tr> 43 <tr> 44 <th>うううううううう</th> 45 <td>おおおおおおおお</td> 46 </tr> 47 <tr> 48 <th>カカカカカカかか</th> 49 <td>ききキキキキ聴き</td> 50 </tr> 51 </tbody> 52 </table> 53 </div> 54 </div>

現状のコードは以下となります。

ruby

1 table_data = table_page.search('//table[@class="def-tbl"][1]//td')

例えばですが、以下のコードから、それに関連するテーブルをとって来ることなどはできたりするのでしょうか。。

ruby

1//span[contains(text(), 'タイトル')]

お分かりの方がいらっしゃればよろしくお願いします!

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

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

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

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

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

guest

回答1

0

ベストアンサー

XPath

1"//span[text()='タイトルA']/../../../following-sibling::div[1]//td"

投稿2020/04/05 08:45

編集2020/04/05 10:09
otn

総合スコア84533

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

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

kickthekaz

2020/04/06 03:13

できました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問