質問編集履歴

2

題名の修正

2018/04/04 06:11

投稿

kazuh1r010
kazuh1r010

スコア23

test CHANGED
@@ -1 +1 @@
1
- HTMLコードのpythonによる正規表現で指定した部分が取得できない理由は?
1
+ HTMLコードのpythonによる正規表現で指定した部分が取得できない理由は?
test CHANGED
File without changes

1

内容追加

2018/04/04 06:11

投稿

kazuh1r010
kazuh1r010

スコア23

test CHANGED
File without changes
test CHANGED
@@ -8,34 +8,64 @@
8
8
 
9
9
 
10
10
 
11
- ある程度は、値を取得できているのですが、
11
+ ある程度は、値を他の部分では取得できているのですが、
12
12
 
13
13
  正規表現で絞ったhtmlから、再度、正規表現を
14
14
 
15
- 行っている部分の値が取得できません。
15
+ 行っている部分の値がうまく取得できません。
16
+
17
+
18
+
19
+ コードは以下のようになります。
16
20
 
17
21
 
18
22
 
19
23
  ```python
20
24
 
21
- """金額部分"""
25
+ """(seleniumで取得した)htmlの絞り込み"""
22
26
 
23
- pattern1 = '<th class="sumHeader" colspan="8">合計</th>(.*?)</tr>'
27
+ pattern1 = '<th>合計</th>(.*?)</tr>'
24
28
 
25
- html = re.findall(pattern1,html,re.S)
29
+ total_html = re.findall(pattern1,html,re.S)
26
30
 
27
- """確認用に表示"""
31
+ """確認用に表示"""
28
32
 
29
33
  print(total_html)
30
34
 
31
35
 
32
36
 
33
- total_pattern2 = '<td class=".cost">(.*?)</td>'
37
+ pattern2 = '<td class=".cost">(.*?)</td>'
34
38
 
35
- total = re.findall(total_pattern2,total_html,re.S)
39
+ total = re.findall(pattern2,total_html,re.S)
36
40
 
37
- #print("合計金額:"+total[0])
41
+ print("合計金額:"+total[0])#合計金額部分の表示
38
-
39
- print(type(total))
40
42
 
41
43
  ```
44
+
45
+
46
+
47
+ 確認用に表示したhtmlコード部分([]も表示されてしまっています)
48
+
49
+ ```ここに言語を入力
50
+
51
+ ['\n<td class="cost">1,000円</td>\n<td class="cost">0円</td>\n<td class="cost">0円</td>\n\n<td class="cost">500円</td>\n\n']
52
+
53
+ ```
54
+
55
+
56
+
57
+ 自分がまだまだ正規表現について知識が未熟なので
58
+
59
+ 原因が分かりません。
60
+
61
+
62
+
63
+ なぜ値をうまく取得できないのでしょうか?
64
+
65
+
66
+
67
+ 原因がお分かりになる方、いらっしゃいましたら
68
+
69
+ ご教授お願いできないでしょうか?
70
+
71
+ よろしくお願いいたします。