質問編集履歴
1
現在のソースコード追加。希望結果修正いたしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,38 +4,88 @@
|
|
4
4
|
|
5
5
|
Python等を使用して複数ページのサイトに使用されているClass名を一覧化したい。
|
6
6
|
|
7
|
-
可能であれば特定ID(Class)名のInnerHTMLのClass名のみ
|
8
|
-
|
9
7
|
### サンプルコード
|
10
8
|
|
11
9
|
```
|
12
10
|
|
13
|
-
|
11
|
+
import requests
|
14
12
|
|
15
|
-
|
13
|
+
import csv
|
16
14
|
|
17
|
-
|
15
|
+
from bs4 import BeautifulSoup
|
18
16
|
|
17
|
+
|
18
|
+
|
19
|
+
# パース対象のHTML
|
20
|
+
|
21
|
+
r = requests.get("###URL###")
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
# BeautifulSoupのインスタンスを生成
|
26
|
+
|
27
|
+
soup = BeautifulSoup(r.content, "html.parser")
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# 大枠を指定
|
32
|
+
|
33
|
+
target = soup.find(class_="###CLASS###")
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
## 配列を作成
|
38
|
+
|
39
|
+
tags = [elem.get('class') for elem in target.find_all()]
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
print(tags)
|
44
|
+
|
45
|
+
f = open("output.csv", "w")
|
46
|
+
|
47
|
+
writecsv = csv.writer(f, lineterminator='\n')
|
48
|
+
|
19
|
-
|
49
|
+
writecsv.writerow(tags)
|
50
|
+
|
51
|
+
f.close()
|
20
52
|
|
21
53
|
```
|
22
54
|
|
23
55
|
|
24
56
|
|
57
|
+
### 今のアウトプット結果
|
58
|
+
|
59
|
+
```
|
60
|
+
|
61
|
+
['AAA', 'BBB']",['CCC'],,,,,['DDD']
|
62
|
+
|
63
|
+
```
|
64
|
+
|
25
|
-
### 希望
|
65
|
+
### 希望アウトプット結果
|
26
66
|
|
27
67
|
|
28
68
|
|
29
|
-
```
|
69
|
+
```
|
70
|
+
|
71
|
+
AAA
|
30
72
|
|
31
73
|
BBB
|
32
74
|
|
33
75
|
CCC
|
34
76
|
|
77
|
+
DDD
|
78
|
+
|
35
79
|
```
|
36
80
|
|
37
81
|
|
38
82
|
|
39
|
-
|
83
|
+
pythonを触り始めて数時間、、、
|
40
84
|
|
85
|
+
まだ単ページの抽出(さらに希望の抽出結果になっていない)状態で悩んでいます。
|
86
|
+
|
87
|
+
|
88
|
+
|
41
|
-
|
89
|
+
文字列の変換すらママならない初心者プログラマですが、
|
90
|
+
|
91
|
+
希望アウトプットスタイルにするにはどのようにしたら良いのでしょうか。。
|