55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
"""PChome 市場活動 read-only adapter skeleton。"""
|
|
|
|
from services.market_intel.adapters.base import (
|
|
AdapterSafetyPolicy,
|
|
CampaignSource,
|
|
MarketIntelAdapter,
|
|
)
|
|
|
|
|
|
class PChomeMarketAdapter(MarketIntelAdapter):
|
|
platform_code = "pchome"
|
|
platform_name = "PChome 24h"
|
|
base_url = "https://24h.pchome.com.tw"
|
|
campaign_url_keywords = (
|
|
"24h.pchome.com.tw",
|
|
"/activity",
|
|
"/campaign",
|
|
"/region/",
|
|
"promo",
|
|
"event",
|
|
)
|
|
campaign_text_keywords = (
|
|
"pchome",
|
|
"24h",
|
|
"活動",
|
|
"優惠",
|
|
"限時",
|
|
"品牌日",
|
|
"特價",
|
|
"折扣",
|
|
)
|
|
safety_policy = AdapterSafetyPolicy(
|
|
request_interval_sec=1.5,
|
|
timeout_sec=20,
|
|
max_pages_per_run=8,
|
|
)
|
|
|
|
def campaign_sources(self):
|
|
return (
|
|
CampaignSource(
|
|
source_key="pchome_home",
|
|
name="PChome 24h 首頁活動入口",
|
|
url="https://24h.pchome.com.tw/",
|
|
campaign_type="homepage_campaign",
|
|
notes="可作為活動 banner / 分類入口 discovery 起點。",
|
|
),
|
|
CampaignSource(
|
|
source_key="pchome_region_beauty",
|
|
name="PChome 美妝保養館別入口",
|
|
url="https://24h.pchome.com.tw/region/DDAB",
|
|
campaign_type="category_sale",
|
|
notes="延續既有 PChome crawler 的 region page 低成本入口。",
|
|
),
|
|
)
|