回答編集履歴

1

H3のみの場合を追加

2018/10/22 15:21

投稿

barobaro
barobaro

スコア1286

test CHANGED
@@ -3,6 +3,10 @@
3
3
 
4
4
 
5
5
  H3直後のPを検索してH3とPのリストを作成しています。
6
+
7
+
8
+
9
+ find_next_siblingsでH3と同じ兄弟要素のみにしています
6
10
 
7
11
 
8
12
 
@@ -123,3 +127,39 @@
123
127
  print(p_list)
124
128
 
125
129
  ```
130
+
131
+ 上のだとH3の下にPがないと取れないので修正
132
+
133
+ ```python
134
+
135
+ # H3を検索
136
+
137
+ for h3 in soup.select("h3"):
138
+
139
+
140
+
141
+ # H3タグを追加
142
+
143
+ h3_list.append(h3)
144
+
145
+ p_list.append([])
146
+
147
+
148
+
149
+ # 次のタグを検索
150
+
151
+ for tag in h3.find_next_siblings():
152
+
153
+
154
+
155
+ # Pなら追加、P以外なら終了
156
+
157
+ if tag.name == "p":
158
+
159
+ p_list[-1].append(tag)
160
+
161
+ else:
162
+
163
+ break
164
+
165
+ ```