回答編集履歴

2

d

2019/09/09 07:15

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -14,21 +14,19 @@
14
14
 
15
15
  from bs4 import BeautifulSoup
16
16
 
17
- from bs4.element import Tag
18
-
19
17
 
20
18
 
21
19
  html = "<b>あいうえお</b><i>かきくけこ<b>さしすせそ</b></i>"
22
-
23
-
24
20
 
25
21
  soup = BeautifulSoup(html)
26
22
 
27
23
 
28
24
 
25
+ def traverse(node, weight):
29
26
 
27
+ # b タグまたは i タグが見つかった場合、重みを加算して、
30
28
 
31
- def traverse(node, weight):
29
+ # 名前を現在の重みで置き換える。
32
30
 
33
31
  if node.name == "b":
34
32
 
@@ -43,6 +41,8 @@
43
41
  node.name = str(weight)
44
42
 
45
43
 
44
+
45
+ # ノードが子を持つ場合
46
46
 
47
47
  if hasattr(node, "children"):
48
48
 

1

d

2019/09/09 07:15

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -58,6 +58,8 @@
58
58
 
59
59
  print(soup)
60
60
 
61
- # 2>あいうえお</2><1>かきくけこ<3>さしすせそ</3></1>
61
+ # <2>あいうえお</2><1>かきくけこ<3>さしすせそ</3></1>
62
+
63
+ # もし、<> を [] にしたい場合、正規表現による置換などの後処理を行ってください。
62
64
 
63
65
  ```