SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
1.2 KB · 24 lines typescript
Raw Blame History
1import type { ConnectorMeta } from '@rareindex/connectors';2import { PriceChartingLikeConnector, parseProductPage as parsePage, type SiteOptions } from '../_lib/pc-core.js';34/**5 * SportsCardsPro connector (PriceCharting's sports-card site): per-set product pages with guide6 * values per grade and eBay completed sales per grade tab (Ungraded, Grade 1–9.5, PSA/BGS/CGC/SGC 10).7 * Plain HTTP receives a Cloudflare interstitial, so pages are fetched through Firecrawl (robots.txt8 * allows everything except /buy, /publish-offer, /stripe-connect). Same parser as PriceCharting.9 */10const BASE = 'https://www.sportscardspro.com';1112export class SportsCardsProConnector extends PriceChartingLikeConnector {13  protected readonly siteOptions: SiteOptions = {14    base: BASE,15    site: 'sportscardspro',16    categoryPrefix: (cat) => `${cat}-`, // "basketball-cards" → consoles "basketball-cards-1986-fleer"17  };18  override readonly urlPatterns = [/^https?:\/\/(www\.)?sportscardspro\.com\/game\/[^/]+\/[^/?#]+/i];19  protected override minIntervalMs = 1200;20}2122export default (meta: ConnectorMeta) => new SportsCardsProConnector(meta);23export const parseProductPage = (html: string, url: string) => parsePage(html, url, 'sportscardspro');24