2023年9月7日星期四

深入淺出使用ChatGPT撰寫Python A Beginner's Guide to Writing Python with ChatGPT

最後更新日期 2023/9/14

你會需要

1. 一台MAC,本文用MAC環境做範例,理論上可以運用在Windows,但就不再補充注意事項

2. ChatGPT帳號。

3. 會寫簡單網頁以及程式語言基礎

適合的人

1. 會寫程式或網頁,但沒用過Python

2. 對於ChatGPT如何運用在寫程式沒概念

預計

1. 按部就班能有明確的學習目標以及成長

2. 學會讓ChatGPT幫你寫一個爬蟲抓取網頁的資料到你像要的地方,譬如Excel。

3. 提供 範例檔案在Github。


開始本文
 

前言


先提供一段程式碼,如果有程式概念的人,或許看到這裡就瞭解了,可以跳過下列的說明
  
  import requests
  from bs4 import BeautifulSoup
  import re
  
  # 指定網址
  url = 'https://rate.bot.com.tw/gold?Lang=zh-TW'
  response = requests.get(url)
  html = response.text
  soup = BeautifulSoup(html, 'html.parser')
  
  # 找到掛牌時間
  time_div = soup.find('div', class_='pull-left trailer text-info')
  time_text = time_div.text.strip().split(':')[1].strip()
  print(f'掛牌時間:{time_text}')

  # 找到黃金價格資料表格
  pattern = re.compile('黃金牌價')
  table = soup.find('table', {'title': pattern})
  if table is None:
      print('找不到符合條件的表格')
  else:
      # 定義要找的資料標題
      titles = ['買進', '賣出']
      data_values = []

      for title in titles:
          pattern = re.compile(title)
          data_row = table.find('td', string=pattern)
          if data_row is None:
              print('找不到符合條件的資料')
          else:
              next_td = data_row.find_next('td')
              value = next_td.get_text(strip=True)
              data_values.append(value)
              print(f'{title}: {value}')
  1. 此範例在做什麼
    • 去台灣銀行網站,取得當下的金價,然後做其他應用,這裡示範列印在螢幕上。
  2. 此範例要如何執行
    • 如下圖,在所有可以執行Python的地方執行,這裡示範用MAC Terminal執行。
  3. 此範例是如何產生的
    • 使用ChatGPT網站,要求產生一段代碼,描述越詳細得到結果越精準。
    • 不過也不用太擔心,根據測試的結果,你可以無限次糾正你的錯誤。
    • 還是會需要部分程式或網頁開發基礎,無法提供此方法給完全零基礎的人
  4. 為什麼選Python
    • 直譯式語言,不需要編譯,方便好懂。
    • 網路上提供很多現成的解決方案,譬如pandas,opencv,selenium,還有很多。
  5. 一般爬蟲實務
    • 從網頁撈取現成的資料,有一種可以直接從源碼取得,不需要模擬器,譬如此範例。
    • 有些需要透過模擬器才能取得,很多都是,最簡單就是直接試。
    • DOM結構不需要完全理解,但要懂的搜尋,不然很容易卡住。
    • 上面三句你聽不懂,建議你先不用此方法,此方法暫時不適合你
  6. 進階會在提供,待續
    • faulfish/faulfish: sample (github.com)
    • 示範使用selenium,使用模擬器的方法爬蟲。以因應更多網頁,大部分網頁都需要。
    • 示範使用pandas,抓到的資料進一步處理放在Excel。
    • 結合ChatGPT API做語意以及其他複雜應用。
    • 結合網站顯示抓到的資料,擴大應用範圍。
    • 示範使用opencv,判斷籃球場上籃球的位置。




參考

1. GhatGPT API API keys - OpenAI API





















沒有留言:

發佈留言