回答編集履歴
2
コード更新し忘れ修正
test
CHANGED
@@ -28,13 +28,26 @@
|
|
28
28
|
soup = BeautifulSoup(html_doc, features="html.parser")
|
29
29
|
|
30
30
|
# やり方1
|
31
|
+
print("----やり方1----")
|
31
32
|
for link in soup.find_all("a"):
|
32
33
|
print(link.text)
|
33
34
|
|
34
35
|
# やり方2
|
36
|
+
print("----やり方2----")
|
35
37
|
for link in soup.find_all("div", class_="aaa"):
|
36
38
|
if link.div is not None:
|
37
39
|
print(link.div.a.text)
|
38
40
|
else:
|
39
41
|
print(link.a.text)
|
42
|
+
|
43
|
+
# やり方3
|
44
|
+
print("----やり方3----")
|
45
|
+
for link in soup.find_all("div", class_="aaa"):
|
46
|
+
if link.div is not None:
|
47
|
+
class_list = link.div.get("class")
|
48
|
+
if (class_list is not None) and ("bbb" in class_list):
|
49
|
+
print(link.div.a.text)
|
50
|
+
else:
|
51
|
+
print(link.a.text)
|
52
|
+
|
40
53
|
```
|
1
やり方3を加えました
test
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
やり方は色々とあると思いますが、以下が考えられます(今回の場合ですと結果は同じになります)
|
2
2
|
test01, test02がaタグなのでそもそもaタグから取ってくる(やり方1)
|
3
3
|
test01はdivが2階層になっているので、それで判定する(やり方2)
|
4
|
+
test01のdiv class="aaa"で子要素のdiv class="bbb"で判定する(やり方3)
|
4
5
|
|
5
6
|
```python
|
6
7
|
from bs4 import BeautifulSoup
|