19日に更新してた

アフィリエイトはないよ

【golang】SOURCENEXT 取り扱いの SpeakBuddy の値段をチェックしてみる

こないだ、セールで買い逃したのでチェックするアプリを作ってみました。

package main

import (
	"context"
	"fmt"
	"log"
	"strings"

	"github.com/chromedp/chromedp"
)

func main() {

	allocCtx, cancel := chromedp.NewExecAllocator(context.Background(), []chromedp.ExecAllocatorOption{
		chromedp.NoFirstRun,
		chromedp.NoDefaultBrowserCheck,
		chromedp.Headless,
	}...)
	defer cancel()

	ctx, cancel := chromedp.NewContext(allocCtx, chromedp.WithLogf(log.Printf))
	defer cancel()

	url := "https://www.sourcenext.com/product/0000013977/"
	xpath := `//*[@id="app-cart"]/div/div/section/div[2]/div/div[3]/div[1]/div[1]/div[2]/span[1]`
	xpath2 := `//*[@id="app-cart"]/div/div/section/div[2]/div/div[3]/div[1]/div[2]/div[2]/span[2]`
	var res string
	var res2 string

	err := chromedp.Run(ctx,
		chromedp.Navigate(url),
		chromedp.Text(xpath, &res),
		chromedp.Text(xpath2, &res2),
	)
	if err != nil {
		log.Fatalln(err)
	}

	if res2 != "" {
		res = res2
	}
	res = strings.Replace(res, ",", "", 1)
	t := "今日のスピークバディの価格は " + res + " 円です。"
	fmt.Println(t)

タスクスケジューラに入れておいて、通知送るようにすればセールでの買い逃しがないかも。

copilotで作った"SOURCENEXTのSpeakBuddyの値段をチェックするgolangのアプリのブログのイラスト"