jobs-monorepo/services/scraper-google/utils/extract-job-id.go
Elshimy Ziad Magdy Taha a195d3b8fe google scraper
2025-12-15 10:26:52 +05:00

30 lines
563 B
Go

package utils
import (
"fmt"
"net/url"
"strconv"
"strings"
)
func ExtractJobId(urlStr string) (int64, error) {
parsedURL, err := url.Parse(urlStr)
if err != nil {
return 0, fmt.Errorf("failed to parse URL: %w", err)
}
path := parsedURL.Path
segments := strings.Split(strings.Trim(path, "/"), "/")
for i := len(segments) - 1; i >= 0; i-- {
if segments[i] != "" {
jobId, err := strconv.ParseInt(segments[i], 10, 64)
if err == nil {
return jobId, nil
}
}
}
return 0, fmt.Errorf("no numeric job ID found in URL path: %s", path)
}