回答編集履歴
1
追記
answer
CHANGED
@@ -25,4 +25,28 @@
|
|
25
25
|
```
|
26
26
|
|
27
27
|
サンプルにdivでclassが"__shi_m_txt"はないのと
|
28
|
-
これで取得しても「資格」しか取れないと思うのですが
|
28
|
+
これで取得しても「資格」しか取れないと思うのですが
|
29
|
+
|
30
|
+
# 追記
|
31
|
+
beautifulsoupの場合
|
32
|
+
|
33
|
+
```python
|
34
|
+
import requests
|
35
|
+
from bs4 import BeautifulSoup
|
36
|
+
import re
|
37
|
+
|
38
|
+
url = 'https://shingakunet.com/gakko/SC003048/gakubugakka/00000000000160337/'
|
39
|
+
|
40
|
+
r = requests.get(url)
|
41
|
+
|
42
|
+
r.raise_for_status()
|
43
|
+
|
44
|
+
soup = BeautifulSoup(r.content, 'html5lib')
|
45
|
+
|
46
|
+
# 資格の下のテキスト取得
|
47
|
+
t = "\n".join([re.sub("\s", "", i) for i in soup.find("span", class_ = "__shi_m_txt", text = "資格").parent.find_next_sibling("div", class_="__shi_gakkaDetail_cont").stripped_strings])
|
48
|
+
# 資格のタグ(find)→親タグ(parent)→下の兄弟タグ(find_next_sibling)→前後の空白文字を除去したテキスト→文中の空白文字削除→結合
|
49
|
+
|
50
|
+
# Webページと同じように、の後の改行を削除
|
51
|
+
print(re.sub("、\n", "、", t))
|
52
|
+
```
|