解説_python_温泉URL取得

Github Copilot

# Pythonで温泉名・URL一覧を自動取得しExcel出力する手順(初学者向け)

この手順では「ニフティ温泉まとめページ」から温泉名とURLを自動取得し、Excelファイルに出力する方法を、初学者にもわかりやすく解説します。

## ステップ1:Pythonの準備

### 1-1. Pythonをインストール

– 公式サイト(https://www.python.org/)からPython 3.xをインストールしてください。

– インストール時に「Add Python to PATH」にチェックを入れると便利です。

### 1-2. 必要なライブラリをインストール

コマンドプロンプト(またはPowerShell)で以下を実行します:

“`sh

pip install requests beautifulsoup4 pandas openpyxl

“`

## ステップ2:スクリプトの作成

### 2-1. コードを用意

エディタで `matsuyamaOnsenURL.py` というファイルを作成し、以下のコードを貼り付けます。

“`python

import requests

from bs4 import BeautifulSoup

import pandas as pd

def get_onsen_name_url():

    url = ‘https://onsen.nifty.com/onsen-matome/230123438155/’

    headers = {“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36”}

    res = requests.get(url, headers=headers)

    res.encoding = res.apparent_encoding

    soup = BeautifulSoup(res.text, ‘html.parser’)

    onsen_list = []

    main = soup.find(‘div’, id=’mainText’)

    if not main:

        print(‘mainTextが見つかりません’)

        return []

    h3s = main.find_all(‘h3’)

    for h3 in h3s:

        name = h3.get_text(strip=True)

        a = h3.find_next_sibling(‘div’)

        if a:

            a_tag = a.find(‘a’, href=True)

            if a_tag:

                href = a_tag[‘href’]

                if href and not href.startswith(‘http’):

                    href = ‘https://onsen.nifty.com’ + href

                print(f”{name}: {href}”)

                onsen_list.append([name, href])

    if not onsen_list:

        print(‘温泉情報が取得できませんでした。’)

    return onsen_list

def save_to_excel(onsen_list, filename):

    df = pd.DataFrame(onsen_list, columns=[“温泉名”, “URL”])

    df.to_excel(filename, index=False)

if __name__ == ‘__main__’:

    onsen_list = get_onsen_name_url()

    save_to_excel(onsen_list, ‘松山市_温泉URL一覧.xlsx’)

“`

## ステップ3:スクリプトの実行

コマンドプロンプト(またはPowerShell)で、スクリプトのあるフォルダに移動し、以下を実行します:

“`sh

python matsuyamaOnsenURL.py

“`

## ステップ4:Excelファイルの確認

同じフォルダに `松山市_温泉URL一覧.xlsx` というExcelファイルが生成されます。

– ファイルを開くと、温泉名とURLの一覧が確認できます。

## 注意事項

– サイト構造が変わると取得できなくなる場合があります。その場合はHTMLを再確認し、セレクタ部分を修正してください。

– サイトによってはBot対策でアクセス制限されることがあります。

– 取得したデータの商用利用や大量アクセスは、各サイトの利用規約を必ずご確認ください。

– Excel出力には `openpyxl` ライブラリが必要です。

## よくあるトラブルと対策

– 「温泉情報が取得できませんでした」と表示される場合:

    – サイト構造が変わっている可能性があります。

    – インターネット接続やURLのスペルミスも確認してください。

– `ModuleNotFoundError` などのエラーが出る場合:

    – 必要なライブラリがインストールされているか再確認してください。

これで、Pythonによる温泉名・URL一覧の自動取得とExcel出力ができます!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です