teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

説明の改善

2020/11/17 05:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,27 +1,27 @@
1
1
  Xpathでtrタグ外のtdの値を取得したい
2
2
 
3
- 以下のようなテーブルでtdの値を取得したいのですが、うまくいきません。
3
+ 以下のようなテーブルで12行目のtdの値を取得したいのですが、うまくいきません。
4
4
  ```html
5
- <tbody>
5
+ 1. 0. <tbody>
6
+ 2. 0. <tr>...</tr>
7
+ 3. <tr>
8
+ 4. <th>...</th>
9
+ 5. <td>...</td>
10
+ 6. </tr>
6
- <tr>...</tr>
11
+ 7. <tr>...</tr>
7
- <tr>
8
- <th>...</th>
9
- <td>...</td>
10
- </tr>
11
- <tr>...</tr>
12
+ 8. <tr>...</tr>
12
- <tr>...</tr>
13
+ 9. <tr>...</tr>
13
- <tr>...</tr>
14
+ 10. <tr>...</tr>
15
+ 11. <th>...</th>
16
+ 12. <td>...</td>
14
- <tr>...</tr>
17
+ 13. <tr>...</tr>
15
- <th>...</th>
16
- <td>...</td>
17
- <tr>...</tr>
18
+ 14. <tr>...</tr>
18
- <tr>...</tr>
19
+ 15. <tr>...</tr>
19
- <tr>...</tr>
20
- </tbody>
20
+ 16. </tbody>
21
21
  ```
22
- trタグ内のtdは
22
+ 3行目から6行目のようなtrタグ内のtdは
23
23
  //*[@id='infotablefont']//tr[2]/td[1]
24
- のように取得出来るのですが、trタグ外のtdの取得方法がわかりません。
24
+ のように取得出来るのですが、12行目のようなtrタグ外のtdの取得方法がわかりません。
25
25
  よろしくお願いします。
26
26
 
27
27
  補足情報(FW/ツールのバージョンなど)

1

説明の改善

2020/11/17 05:07

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Webページをスクレイピンし、要素を取得したい
1
+ Xpathでtrタ外のtdの値を取得したい
body CHANGED
@@ -1,8 +1,6 @@
1
- Webページをスクレイピンし、要素を取得したい
1
+ Xpathでtrタ外のtdの値を取得したい
2
2
 
3
-
4
- あるページをスクレイピングしようと思い、Googleのデベロッパツールを使い、xpathを調べ、xpathを指定、スクレイピングし要素を取得出来ませんでした
3
+ 以下のようなテでtdの値取得したいのですがくいきません。
5
- Googleのデベロッパーツールによるソースによると、該当の箇所は以下のように書かれており、tr[2]とtr[7]のtdの要素を取得したいと考え、Swift製のHTML/XMLパーサKannaを使いました。
6
4
  ```html
7
5
  <tbody>
8
6
  <tr>...</tr>
@@ -14,21 +12,18 @@
14
12
  <tr>...</tr>
15
13
  <tr>...</tr>
16
14
  <tr>...</tr>
17
- <tr>...</tr>
18
- <tr>
19
15
  <th>...</th>
20
16
  <td>...</td>
21
- </tr>
22
17
  <tr>...</tr>
23
18
  <tr>...</tr>
24
19
  <tr>...</tr>
25
20
  </tbody>
26
21
  ```
27
- tr[2]は問題なく取得できたのですが、tr[7]が取得出来ず、コードをxcodeのデバックエリアに表示させたところ、デベロッパーツールによるソースのtr[7]に当たる箇所のtrタグが書かれていませんでした。そため、tr[6]まで問題なく取得できますが、tr[7]を取得するように記述するとtr[8]が取得されてしまうという現象が発生しました。
22
+ trタグtd
28
- trタグがないデベロッパーツールによるソースのtr[7]に当たる箇所を取得しようと考えた時、どのように取得すれば良いでしょうか?
23
+ //*[@id='infotablefont']//tr[2]/td[1]
29
- xpath書き方に詳しくないことから、このような曖昧な質問なってしまいましたが、よろしくお願い申し上げ
24
+ のように取得出来るのですが、trタグ外のtdの取得方法がわかりせん
25
+ よろしくお願いします。
30
26
 
31
-
32
27
  補足情報(FW/ツールのバージョンなど)
33
28
  swift5,xcode12
34
29
  パーサ:Kanna