今天是第二十一天,我的目標是抓取指定網站上商品的價格資訊並記錄變化。
需用到的工具:
1.安裝所需的庫,在終端中運行以下命令來安裝必要的庫:
pip install requests beautifulsoup4 pandas
2.選擇目標網站,假設我們要抓取 Amazon 或其他電商網站的商品價格(請確認該網站的爬蟲政策,遵守網站的使用條款
3.編寫爬蟲腳本,下面是一個簡單的 Python 腳本範例,用於抓取商品價格:
import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime
# 設定 URL 和要抓取的商品選擇器
url = 'YOUR_PRODUCT_URL'
price_selector = 'YOUR_PRICE_SELECTOR' # 例如: '.price' 或 '#priceblock_ourprice'
def get_price(url, selector):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
price = soup.select_one(selector).get_text(strip=True)
return price
# 獲取價格並保存到 CSV 文件
def save_price(price):
data = {'Date': [datetime.now().strftime('%Y-%m-%d %H:%M:%S')], 'Price': [price]}
df = pd.DataFrame(data)
df.to_csv('price_history.csv', mode='a', header=False, index=False)
# 主函數
if __name__ == '__main__':
price = get_price(url, price_selector)
print(f'Current price: {price}')
save_price(price)
4.執行腳本,將上面的代碼保存在一個 Python 文件中(例如 price_tracker.py),然後在終端中運行:
python price_tracker.py
5.查看價格變化,每次運行腳本時,抓取的價格將被添加到 price_history.csv 文件中,可以使用 Pandas 讀取這個文件並分析價格變化。
注意事項