iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
自我挑戰組

30 天全面認識 Python系列 第 29

Day 29:專案 —— 爬蟲 + 資料整理

  • 分享至 

  • xImage
  •  

為什麼要做這個專案?

到目前為止,我們已經學了字串、迴圈、函式、檔案操作、模組套件、爬蟲… 今天我們要把這些能力串起來,做一個「爬蟲自動化整理系統」。

專案目標

  • 用爬蟲抓取某個網站的文章標題(例如 iThome、PTT 熱門文章、Hacker News)。
  • 把標題存到一個文字檔或 CSV。
  • 自動建立資料夾,把檔案按照「日期」命名存放。

程式範例

import requests
from bs4 import BeautifulSoup
import os
from datetime import datetime

# 1. 抓取資料
url = "https://www.ithome.com.tw/"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")

titles = [t.text.strip() for t in soup.find_all("h2")[:10]]

# 2. 建立資料夾
folder = "news_data"
if not os.path.exists(folder):
    os.mkdir(folder)

# 3. 以日期命名檔案
today = datetime.now().strftime("%Y%m%d")
file_path = os.path.join(folder, f"{today}.txt")

# 4. 寫入檔案
with open(file_path, "w", encoding="utf-8") as f:
    for i, title in enumerate(titles, 1):
        f.write(f"{i}. {title}\n")

print("今日新聞標題已儲存到", file_path)

進一步挑戰

  • 改成 CSV 格式,並加上「來源網站」。
  • 自動判斷檔案是否已存在,若存在就加上時間戳。
  • 加入錯誤處理(例如網路斷線時的提醒)。

今日小挑戰

請嘗試:

  • 自己挑一個網站,抓取標題或熱門文章。
  • 自動依照日期存檔。
  • 每次執行時,新增一份「今日最新資料」。

這個挑戰能讓你實際體驗「資料獲取 → 整理 → 存檔」的流程。
---by Ricky


上一篇
Day 28:網路爬蟲入門
下一篇
Day 30:期末專案 —— Python 自動化工具
系列文
30 天全面認識 Python30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言