前のページでは,辞書に格納されたURLを順番に巡回することができました.ここでは巡回先のページから各コースの主な講義名を取得してみよう.このために,「経営・商学コース」のページを開き,そのHTMLソースを確認します.すると,主な講義の名称は<h5>
タグに囲まれていることがわかるので,下のコードの33行目以降のように記述すると,講義名称を取得することができます.
辞書に格納されたリンクを巡回しながら情報を取得する (manager-selenium08.py)
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time # 時間を操作するPythonの標準モジュール
# 操作するブラウザを開く
chrome_service=Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=chrome_service)
# driver = webdriver.Chrome('C:\\Users\\bk182005\\Documents\\selenium\\chromedriver.exe') # 手動インストールを使う場合
# 操作するページを開く
driver.get('https://kobegakuin-biz.jp/course/')
# 3秒待つ
time.sleep(3)
# 空の辞書を準備
courses = {}
# class="box" の要素をすべて検索する
elms = driver.find_elements(By.CLASS_NAME, 'box')
for elm in elms:
course_title = elm.find_element(By.TAG_NAME, 'h3').text
url = elm.find_element(By.TAG_NAME, 'a').get_attribute('href')
# 辞書に追加
courses[course_title] = url
# 辞書の内容を表示
# print(courses)
# 辞書に格納されたURLを巡回する
for course, url in courses.items():
print('---------')
print(course)
print(url)
driver.get(url)
time.sleep(2)
# 主な講義の名称を取得する
elms = driver.find_elements(By.TAG_NAME, 'h5')
for elm in elms:
print(elm.text)
time.sleep(1)
# 3秒待つ
# time.sleep(3)
# ブラウザを閉じる
driver.close()
(base) C:\Users\bk182005\Documents\python>python manager-selenium08.py ⏎
DevTools listening on ws://127.0.0.1:60313/devtools/browser/92f9c2be-33ed-482e-9393-0d51674a590e
---------
経営・商学コース
https://kobegakuin-biz.jp/course/business.html
■ 経営史総論
■ マーケティング論
■ 国際経営論
---------
会計コース
https://kobegakuin-biz.jp/course/accounting.html
■ 簿記論
■ 財務会計論
■ 会計監査論
---------
経営情報科学コース
https://kobegakuin-biz.jp/course/solution.html
■ 情報管理概論
■ 経営情報論
■ システム分析
---------
専門語学・海外研修
https://kobegakuin-biz.jp/course/global.html
■ コミュニケーション英語I
■ コミュニケーション英語II
■ コミュニケーション英語III
■ ビジネス英語I・II・III・IV
■ 外書講読I・II・III
---------
スポーツサイエンスユニット
http://www.ge.kobegakuin.ac.jp/~kyotsu/feature/sports/index.html
(base) C:\Users\bk182005\Documents\python>