回答編集履歴

2

修正

2020/11/02 05:46

投稿

nto
nto

スコア1438

test CHANGED
@@ -1 +1,33 @@
1
+ ベースは私が書いたコードではありますが、判定方法の問題です。
2
+
3
+
4
+
5
+ `if '種族値' in tr.text:`と、ページ内に「種族値」という単語があった場合に
6
+
7
+ その単語がある要素を起点にコードが実行されていきます。
8
+
9
+ 主なモンスターはページ内に「◆○○の種族値」と種族値の一覧の部分にタイトルがあります。
10
+
11
+ 今回エラーが生じたモンスターの場合、ページ内の上記部分以外にも「種族値」という
12
+
13
+ 単語が含まれる要素があった為そこからも解析を行おうとしてエラーが生じてしまっている様です。
14
+
15
+
16
+
17
+ ---
18
+
1
- 一時編集中
19
+ 解決方法
20
+
21
+ 正規表現を使用して判定する
22
+
23
+ ```python
24
+
25
+ import re
26
+
27
+
28
+
29
+ if re.match(r'^◆\s[ァ-ヴー]+の種族値$', tr.text):
30
+
31
+ title = tr.text
32
+
33
+ ```

1

編集

2020/11/02 05:46

投稿

nto
nto

スコア1438

test CHANGED
@@ -1,29 +1 @@
1
- ベースは私が書いたコードではありますが、判定方法の問題です。
2
-
3
- `if '種族値' in tr.text:`と、ページ内に「種族値」という単語があった場合に
4
-
5
- その単語がある要素を起点にコードが実行されていきます。
6
-
7
-
8
-
9
- 主なモンスターはページ内に「◆○○の種族値」と種族値の一覧の部分にタイトルがあります。
10
-
11
- 今回エラーが生じたモンスターの場合、ページ内の上記部分以外にも「種族値」という
12
-
13
- 単語が含まれる要素があった為そこからも解析を行おうとしてエラーが生じてしまっている様です。
14
-
15
-
16
-
17
- ---
18
-
19
- 解決方法
1
+ 一時編集中
20
-
21
- - `if '種族値' in tr.text:`の部分を正規表現を使用して判定する
22
-
23
- - try文を使用して例外はpassする
24
-
25
-
26
-
27
- で途中他に「種族値」という単語が含まれている場合のページでも
28
-
29
- エラーが生じず正常に動作するかと思います。