iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0
自我挑戰組

30 天全面認識 Python系列 第 28

Day 28:網路爬蟲入門

  • 分享至 

  • xImage
  •  

為什麼要學網路爬蟲?

網路上充滿了資料:新聞、股價、天氣、球賽比分、商品價格… 如果要手動複製貼上,不但累人還容易出錯,網路爬蟲(Web Scraping)就是讓程式自動幫我們抓取這些資料。Python 有許多好用的套件,像 requests 負責發送請求、BeautifulSoup 負責解析 HTML。

發送請求並取得網頁

import requests

url = "https://example.com"
response = requests.get(url)

print("狀態碼:", response.status_code)
print("前100字:", response.text[:100])

用 BeautifulSoup 解析 HTML

from bs4 import BeautifulSoup

html = """
<html><body>
<h1>我的標題</h1>
<p class="content">這是一段文字</p>
</body></html>
"""

soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text)                   # 我的標題
print(soup.find("p", class_="content").text)  # 這是一段文字

實際爬取一個網站(以 iThome 為例)

url = "https://www.ithome.com.tw/"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")

titles = soup.find_all("h2")
for i, t in enumerate(titles[:5], 1):   # 只取前5個
    print(f"{i}. {t.text.strip()}")

注意事項

  • 爬蟲要遵守網站規則(看 robots.txt)。
  • 請勿惡意大量請求,否則可能被封鎖。
  • 爬蟲只適合學習或公開 API,不要侵犯版權或隱私。

今日小挑戰

  • 寫一個小爬蟲,抓取某個公開網站的標題(例如 iThome、PTT 熱門文章),並印出前 10 筆。

這個挑戰能讓你學會把網頁變成資料
--- by Ricky


上一篇
Day 27:檔案與資料夾管理
系列文
30 天全面認識 Python28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言