python ECサイトで商品がリセールされたらLINEで通知を送るには


まずはLINEのトークンを使って通知を送る関数
sumple.py

import requests

def send_line_notify(notification_message, line_notify_token):
  line_notify_api = 'https://notify-api.line.me/api/notify'
  headers = {'Authorization': f'Bearer {line_notify_token}'}
  data = {'message': notification_message}
  requests.post(line_notify_api, headers = headers, data = data)



新しい商品が追加されたかどうかを判定するコード

from bs4 import BeautifulSoup
import requests

def check_new_item(url, old_items):
  response = requests.get(url)
  soup = BeautifulSoup(response.text, 'html.parser')
  items = soup.find_all('div', class_='item') # 商品情報のCSSセレクタを指定
  new_items = [item for item in items if item not in old_items]
  return new_items

url = 'https://example.com' # ECサイトのURLを指定
old_items = [] # 以前のアイテムを記録するリスト

new_items = check_new_item(url, old_items)
if new_items:
  for item in new_items:
    send_line_notify(f'新しい商品がリストに追加されました: {item}', line_notify_token)
  old_items += new_items



cronを使って定期実行するには、
ターミナルで

$ crontab -e


毎日12時にscript.pyというスクリプトを実行する設定

0 12 * * * /usr/bin/python3 /path/to/script.py


これで変化があれば通知が届きます。