Prompt Detail:
以下是使用 Python 和 BeautifulSoup 套件來撰寫一個能夠讀取 CSV 檔案,抓取每個商品的歷史銷量並輸出成新的 CSV 檔案的程式碼:
pythonimport csv
import requests
from bs4 import BeautifulSoup
# 載入 CSV 檔案
with open('urls.csv', 'r') as file:
reader = csv.reader(file)
# 迴圈讀取每一列
for row in reader:
url = row[0]
# 發送 GET 請求
response = requests.get(url)
# 解析 HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 獲取商品名稱
product_name = soup.find('h1', {'class': 'qaNIZv'}).text.strip()
# 獲取商品歷史銷量
sales = soup.find('div', {'class': 'dQm2af'}).text.strip()
# 將商品名稱和歷史銷量寫入 CSV 檔案
with open('sales.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow([product_name, sales])
程式碼中,我們首先使用 csv
模組來讀取 CSV 檔案,然後使用 requests
套件發送 GET 請求,獲取網頁內容。接著,使用 BeautifulSoup 套件解析 HTML,獲取商品名稱和歷史銷量,最後將結果寫入一個新的 CSV 檔案中。
需要注意的是,在這個程式中,我們使用了 a
參數來打開 CSV 檔案,這表示我們希望以「追加」的方式寫入新的資料,而非覆蓋舊有的內容。如果你想要清空舊有內容,可以先使用 w
參數打開檔案,然後在迴圈之前先寫入 CSV 的標題欄位。
Add a comment