Python入門トップページ


目次

  1. テストの自動化と Selenium
  2. Selenium のインストール
  3. ChromeDrive - WebDriver for Chrome のダウンロードと設置
  4. Web ページを開いてみよう
  5. リンクをクリックしてみる
  6. 要素の情報を取り出す
  7. すべての要素を取り出してみよう
  8. リンクを開いて戻ってみる
  9. リンクを巡回しながら情報を取得する(1)
  10. リンクを巡回しながら情報を取得する(2)
  11. リンクを巡回しながら情報を取得する(3)
  12. 要素の見つけ方

Selenium を使って Web からデータを自動収集しよう

リンクを巡回しながら情報を取得する(3)

前のページでは,辞書に格納されたURLを順番に巡回することができた.ここでは巡回先のページから各コースの主な講義名を取得してみよう.このために,「経営・商学コース」のページを開き,そのHTMLソースを確認する.すると,主な講義の名称は<h5> タグに囲まれていることがわかるので,下のコードの33行目以降のように記述すると,講義名称を取得することができる.

selenium-2021-05

 辞書に格納されたリンクを巡回しながら情報を取得する (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>

目次に戻る