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

回答編集履歴

2

修正

2020/11/02 05:46

投稿

nto
nto

スコア1438

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

1

編集

2020/11/02 05:46

投稿

nto
nto

スコア1438

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