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

回答編集履歴

1

Update

2021/11/03 03:25

投稿

melian
melian

スコア21265

answer CHANGED
@@ -1,26 +1,7 @@
1
- `dd:nth-of-type(2)` にマッチさせるために HTML コードに `<dd></dd>` を追加しています。
2
-
3
- ```html
4
- <div class="kanji">
5
- <span class="text">鳩</span>
6
- </div>
7
- <div class="reads">
1
+ `stripped_strings` を使ってみました。
8
- <dl>
9
- <dt>訓読み</dt>
10
- <dd></dd> <!-- Here -->
11
- <dd> <span class="yomi">はと</span>・
12
- <span class="yomi">あつ<span class="okurigana">める</span></span>・
13
- <span class="yomi">あつ<span class="okurigana">まる</span></span>・
14
- <span class="yomi">やす<span class="okurigana">んずる</span></span>
15
- </dd>
16
- </dl>
17
- </div>
18
- ```
19
-
20
2
  ```python
21
- x = soup.select('div.reads > dl > dd:nth-of-type(2) > span.yomi')
22
3
  yomi_kun, okurigana = [], []
23
- for i in x:
4
+ for i in soup.select('div.reads > dl > dd:nth-of-type(2) > span.yomi'):
24
5
  ss = list(i.stripped_strings)
25
6
  yomi_kun.append(ss[0])
26
7
  okurigana.append(ss[1] if len(ss) > 1 else '')