回答編集履歴
2
修正
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
編集
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
|
-
エラーが生じず正常に動作するかと思います。
|