import requests
from bs4 import BeautifulSoup
import pandas as pd

headers = {
    "User-Agent": (
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
        "AppleWebKit/537.36 (KHTML, like Gecko) "
        "Chrome/137.0.0.0 Safari/537.36"
    ),
    "Accept-Language": "zh-TW,zh;q=0.9,en;q=0.8",
    }

base_url = 'https://tw.stock.yahoo.com/quote/'

data = []

while True:
    
    stock_symbol = input('\n請輸入要查詢(成交價)的股票代碼(離開=>quit): ')

    if stock_symbol == 'quit':
        break

    url = base_url + stock_symbol
    resp = requests.get(url, headers=headers,)

    if resp.status_code != 200:
        print(f'{resp.status_code}錯誤,無法查詢!')
        continue

    soup = BeautifulSoup(resp.text, 'lxml')
    price = soup.find(class_='D(f) Ai(fe) Mb(4px)').find('span').get_text()
    print(price)

    data.append((stock_symbol, price))

df = pd.DataFrame(data, columns=['Stock Symbol', 'Closing Price'])

df.to_excel('ClosingPrice.xlsx', index=False)