人工知能医学のための業務効率化Pythonの活用事例

# Pythonとは
Pythonとは、とはプログラミング言語の１つのことで、1991年にオランダ人のグイド・ヴァン・ロッサム氏が開発しました。
Web開発やデータ分析など、幅広い分野に使える汎用性の高い言語です。
また、DXが推進し、初心者でも扱いやすいPythonは、日常の業務改善に役立つ言語として重宝され、トップクラスの人気があります。
by 人工知能医学研究部 部長　imedix
2024年12月ー

## Pythonで自動化できること
Pythonを活用することで自動化できることの例は以下の通りです。

* ブラウザ自動操作
* Excelの自動操作
* Wordの自動操作
* メールの自動送信
* PDFの自動操作
* APIとの連携
* スクレイピング
* 画像の自動編集
その他にもたくさんあります。

## Visual Studio Code & Python 準備編（Windowsの場合）
注）MacOSユーザーは後述

### Windowsへの Visual Studio Code　（VSC) の インストール
以下のサイトを参考に、WindowsPCにVSCをインストールしてください。
Windows 11 への Visual Studio Code の インストール #VSCode - Qiita
https://qiita.com/mmake/items/2cf2131a0ab5bc431215

### WindowsへのPythonのインストール
以下のサイトを参考に、WindowsPCにPythonをインストールしてください。
Windows 11 への Python 3.12 のインストール #初心者向け - Qiita
https://qiita.com/mmake/items/5197afbe5c055f82265e

###  WindowsでのPython環境構築
以下のサイトを参考に、WindowsPCでのPython環境構築をしてください。
Windows 11 の VSCode の Python 開発環境の構築 #初心者向け - Qiita
https://qiita.com/mmake/items/55401c6a9e2f3f0f3475

## Visual Studio Code & Python 準備編（MacOSの場合）
以下のサイトを参考に、MacにVSC、Pythonをインストールしてください。
【2021】VS CodeでPythonを始めよう！【Mac】 | Meg Log
https://biotech-univ.com/2021vs-codepythonmac/

## １：ブラウザ自動操作
事例１－１　特定のWebページを自動で開く
ここでは、人工知能医学学習用のウェブページを３つ開いて、Notionのある特定のページを開いて、進行具合をメモできるというPythonコードを示します。
まず準備。VSCodeのターミナルを開いて、
```
PS C:\Users\（User)> pip install selenium
```
モジュールseleniumのインストールが完了したら
```
PS C:\Users\Prof. Nakata> pip install webdriver_manager  
```
モジュールwebdriver_manager のインストールが完了。
次に、
VSCodeのファイルタグから新しいファイル...を選択して
エディター画面に
```
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import time
import webbrowser

# Chromeのオプション設定
chrome_options = Options()
chrome_options.add_argument("--start-maximized")  # 最大化表示
chrome_options.add_argument("--disable-notifications")  # 通知を無効化

# WebDriverの設定
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Notionの特定のページURL
notion_page = "https://www.notion.so/2024-11-149c02890c158046b9e3eb9cd46c6f2c"

# その他の特定のページURL
other_pages = [
    "https://qiita.com/imedix/items/946e108a9f8513d70041",
    "https://qiita.com/imedix/items/6743f8e79e94060dfbfb",
    "https://qiita.com/imedix/items/e2bc1b6336bd2489745d"
]

# Notionページを開く
driver.get(notion_page)

time.sleep(5)  # ページが完全に読み込まれるまで待機

# Notionにログイン済みかどうかを確認
try:
    # ログインが必要な場合、"ログイン"ボタンを探す
    login_button = driver.find_element(By.XPATH, "//div[contains(text(), 'ログイン')]")
    print("ログインが必要です。ログインページを開きます。")

    # ログイン処理が必要な場合、ユーザーに手動でログインをしてもらう
    # (ここで自動ログイン処理を実装する場合は、ID/PW入力フィールドに対して適切に値を入力するコードを記述)
    time.sleep(30)  # ユーザーが手動でログインするのを待つ

except:
    # ログイン済みの場合
    print("既にログインされています。ページを開きます。")

# WebDriverを終了
driver.quit()

# ログイン処理後、Notionの特定のページとその他のページを自動的にChromeで表示する
# Chromeのパスを設定
chrome_path = "C:/Program Files/Google/Chrome/Application/chrome.exe %s"

# 全てのページをリストに追加
all_pages = [notion_page] + other_pages

# Google Chromeで全てのページを開く
for url in all_pages:
    webbrowser.get(chrome_path).open(url)

```
を入力。なお
18行目の# Notionの特定のページURL
```
notion_page = "https://www.notion.so/2024-11-149c02890c158046b9e3eb9cd46c6f2c"
```
は、Notionユーザならば、自分で新しいページを作成して、
そのURLをコピペして使用してください。
ファイルタブから名前をつけて保存...
でプログラム保存したら、以下ターミナルから実行
```
PS C:\Users\(User)> python .\notion_test.py   
```
3つのウェブページ＋NotionがChromeブラウザで開くと思います。
***
これからも役に立つPython活用事例を付け足しますので、期待してください。