2026-08-14 平台渠道专项更新:前端和静态SEO只展示平台官网、官方入驻及非中文入驻页辅助翻译;移除类目入口翻译、消费者官网翻译和内部成熟度/新兴参考分文案。 同步59/59权威源、65场跨境活动、28个平台和208条趋势内容;修正IBTE、CCBEC、法国教育部、Shopee和Shopify语种判断,更新README与CHANGELOG并通过Python、Node及静态构建验证。
124 lines
22 KiB
Python
124 lines
22 KiB
Python
#!/usr/bin/env python3
|
|
"""家纺跨境经营者常用平台目录。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from concurrent.futures import ThreadPoolExecutor
|
|
from typing import Any
|
|
|
|
import requests
|
|
|
|
try:
|
|
from .intelligence_web_translation import translation_fields
|
|
except ImportError:
|
|
from intelligence_web_translation import translation_fields
|
|
|
|
|
|
PLATFORMS: tuple[dict[str, Any], ...] = (
|
|
{"id": "amazon-us", "name": "Amazon 美国", "logo": "amazon", "markets": ["美国"], "region": "北美", "type": "综合电商", "access_level": "A", "access_label": "可直接申请", "cross_border": "全球开店面向中国卖家,FBA 体系成熟", "textile_category": "Home & Kitchen > Bedding;适合床品、毯类、枕芯和浴室纺织品", "fit_sellers": ["电商卖家", "品牌商", "成品供货商"], "official_url": "https://www.amazon.com/s?k=bedding", "seller_url": "https://gs.amazon.cn/", "confidence": "已核实"},
|
|
{"id": "amazon-uk", "name": "Amazon 英国", "logo": "amazon", "markets": ["英国"], "region": "欧洲", "type": "综合电商", "access_level": "A", "access_label": "全球开店开放", "cross_border": "中国卖家可通过 Amazon Global Selling 进入英国站,需单独核对英国 VAT、产品标签和退货地址", "textile_category": "Home & Kitchen > Bedding;适合英规床品、保暖毯、窗帘和浴室纺织品", "fit_sellers": ["电商卖家", "品牌商", "成品供货商"], "official_url": "https://www.amazon.co.uk/s?k=bedding", "seller_url": "https://sell.amazon.co.uk/global-selling/china", "confidence": "已核实"},
|
|
{"id": "amazon-de", "name": "Amazon 德国", "logo": "amazon", "markets": ["德国", "欧盟"], "region": "欧洲", "type": "综合电商", "access_level": "A", "access_label": "全球开店开放", "cross_border": "中国卖家可申请德国站,需完成欧盟 VAT、EPR、GPSR 和德语商品信息等要求", "textile_category": "Küche, Haushalt & Wohnen > Bettwäsche;适合德规尺寸床品、窗帘和认证明确的功能纺织品", "fit_sellers": ["电商卖家", "品牌商", "成品供货商"], "official_url": "https://www.amazon.de/s?k=bettwaesche", "seller_url": "https://sell.amazon.de/en/", "confidence": "已核实"},
|
|
{"id": "amazon-fr", "name": "Amazon 法国", "logo": "amazon", "markets": ["法国", "欧盟"], "region": "欧洲", "type": "综合电商", "access_level": "A", "access_label": "全球开店开放", "cross_border": "中国卖家可申请法国站,需处理法国 VAT、EPR、法语标签和客服", "textile_category": "Cuisine et Maison > Linge de lit;适合法式床品、桌布、浴巾和软装套系", "fit_sellers": ["电商卖家", "品牌商", "成品供货商"], "official_url": "https://www.amazon.fr/s?k=linge+de+lit", "seller_url": "https://sell.amazon.fr/", "confidence": "已核实"},
|
|
{"id": "amazon-jp", "name": "Amazon 日本", "logo": "amazon", "markets": ["日本"], "region": "东亚", "type": "综合电商", "access_level": "A", "access_label": "全球开店开放", "cross_border": "海外卖家可申请日本站,需按日本尺寸、日语标签、进口和产品法规经营", "textile_category": "ホーム&キッチン > 寝具;适合日规单人床品、毛巾、凉感寝具和收纳纺织品", "fit_sellers": ["电商卖家", "品牌商", "成品供货商"], "official_url": "https://www.amazon.co.jp/s?k=%E5%AF%9D%E5%85%B7", "seller_url": "https://sell.amazon.co.jp/", "confidence": "已核实"},
|
|
{"id": "amazon-in", "name": "Amazon 印度", "logo": "amazon", "markets": ["印度"], "region": "南亚", "type": "综合电商", "access_level": "B", "access_label": "跨境方案需审核", "cross_border": "官方提供从海外使用 FBA 进入印度的方案,但 GST、进口、税务和合规门槛较高,申请前需人工确认主体路径", "textile_category": "Home & Kitchen > Bedsheets;适合棉质床单、轻薄毯、毛巾和高温气候家纺", "fit_sellers": ["品牌商", "成品供货商", "有印度合规能力的卖家"], "official_url": "https://www.amazon.in/b?ie=UTF8&node=10213829031", "seller_url": "https://sell.amazon.in/landing/sell-to-india-from-anywhere/sell-with-fba", "confidence": "已核实"},
|
|
{"id": "walmart", "name": "Walmart Marketplace", "logo": "walmart", "markets": ["美国"], "region": "北美", "type": "零售平台", "access_level": "B", "access_label": "审核制", "cross_border": "中国卖家可申请,需通过资质与履约审核", "textile_category": "Home > Bedding;适合高性价比套装和稳定补货商品", "fit_sellers": ["品牌商", "成品供货商"], "official_url": "https://www.walmart.com/search?q=bedding", "seller_url": "https://marketplace.walmart.com/", "confidence": "已核实"},
|
|
{"id": "ebay", "name": "eBay", "logo": "ebay", "markets": ["美国", "英国", "德国", "澳大利亚"], "region": "全球", "type": "综合电商", "access_level": "A", "access_label": "可直接申请", "cross_border": "中国卖家生态成熟,需按站点设置物流、税费与退货", "textile_category": "Home & Garden > Bedding;适合标准品、尾货和差异化款式", "fit_sellers": ["电商卖家", "成品供货商", "贸易商"], "official_url": "https://www.ebay.com/sch/i.html?_nkw=bedding", "seller_url": "https://www.ebay.com/sl/sell", "confidence": "已核实"},
|
|
{"id": "etsy", "name": "Etsy", "logo": "etsy", "markets": ["美国", "英国", "德国", "法国", "澳大利亚", "加拿大"], "region": "欧美", "type": "手作定制", "access_level": "A", "access_label": "可直接申请", "cross_border": "适合原创、个性化和小批量家纺,需重视设计版权", "textile_category": "Home & Living > Bedding;适合定制床品、刺绣、抱枕和桌布", "fit_sellers": ["设计工作室", "电商卖家", "品牌商"], "official_url": "https://www.etsy.com/c/home-and-living/bedding", "seller_url": "https://www.etsy.com/sell", "confidence": "已核实"},
|
|
{"id": "temu", "name": "Temu", "logo": "temu", "markets": ["美国", "英国", "德国", "法国", "日本", "韩国", "澳大利亚", "巴西", "中东"], "region": "全球", "type": "折扣电商", "access_level": "A", "access_label": "可直接申请", "cross_border": "全托管与半托管模式面向中国工厂和卖家,具体站点规则以后台为准", "textile_category": "Home & Kitchen;适合价格敏感、轻量化、组合装和快速迭代商品", "fit_sellers": ["工厂型卖家", "成品供货商", "电商卖家"], "official_url": "https://www.temu.com/search_result.html?search_key=bedding", "seller_url": "https://seller.temu.com/", "confidence": "已核实"},
|
|
{"id": "tiktok-shop", "name": "TikTok Shop", "logo": "tiktok", "markets": ["美国", "英国", "东南亚"], "region": "全球", "type": "社交电商", "access_level": "A", "access_label": "按站点开放", "cross_border": "不同国家开放模式持续变化,申请前必须核对卖家中心当前站点", "textile_category": "Home & Living;适合可演示材质、场景改造、宿舍套装和达人测评商品", "fit_sellers": ["电商卖家", "品牌商", "工厂型卖家"], "official_url": "https://www.tiktok.com/search?q=bedding", "seller_url": "https://seller.tiktokglobalshop.com/", "confidence": "已核实"},
|
|
{"id": "shopee", "name": "Shopee", "logo": "shopee", "markets": ["新加坡", "马来西亚", "泰国", "印度尼西亚", "越南", "菲律宾", "巴西"], "region": "东南亚及拉美", "type": "综合电商", "access_level": "A", "access_label": "可直接申请", "cross_border": "跨境开店和 SLS 物流体系成熟,需按站点活动与语言运营", "textile_category": "Home & Living > Bedding;适合轻薄、快干、小规格和组合装", "fit_sellers": ["电商卖家", "成品供货商", "工厂型卖家"], "official_url": "https://shopee.sg/search?keyword=bedding", "seller_url": "https://shopee.cn/", "confidence": "已核实"},
|
|
{"id": "lazada", "name": "Lazada", "logo": "lazada", "markets": ["新加坡", "马来西亚", "泰国", "印度尼西亚", "越南", "菲律宾"], "region": "东南亚", "type": "综合电商", "access_level": "A", "access_label": "需核对当前招商", "cross_border": "跨境招商与站点条件会变化,申请前核对卖家中心最新要求", "textile_category": "Home & Living;适合热带气候床品、凉感面料和浴室纺织品", "fit_sellers": ["电商卖家", "成品供货商"], "official_url": "https://www.lazada.sg/catalog/?q=bedding", "seller_url": "https://sellercenter.lazada.com/", "confidence": "需核对条件"},
|
|
{"id": "mercado-libre", "name": "Mercado Libre", "logo": "mercado-libre", "markets": ["巴西", "墨西哥", "智利", "哥伦比亚"], "region": "拉丁美洲", "type": "综合电商", "access_level": "A", "access_label": "跨境项目开放", "cross_border": "通过 Global Selling 覆盖重点拉美市场,税费和配送承诺需本地化;官网支持切换简体中文", "textile_category": "Hogar > Ropa de cama;适合床品套装、毛巾和季节性软装", "fit_sellers": ["电商卖家", "成品供货商", "品牌商"], "official_url": "https://listado.mercadolibre.com.mx/ropa-de-cama", "seller_url": "https://global-selling.mercadolibre.com/", "language_url": "https://global-selling.mercadolibre.com/learning-center", "confidence": "已核实"},
|
|
{"id": "ozon", "name": "Ozon", "logo": "ozon", "markets": ["俄罗斯"], "region": "俄罗斯及欧亚", "type": "综合电商", "access_level": "A", "access_label": "可直接申请", "cross_border": "中国卖家可使用跨境卖家中心,需处理俄语内容、认证和物流", "textile_category": "Дом > Текстиль;适合保暖床品、毯类、窗帘和浴室纺织品", "fit_sellers": ["电商卖家", "成品供货商"], "official_url": "https://www.ozon.ru/search/?text=постельное%20белье", "seller_url": "https://seller.ozon.ru/", "confidence": "已核实"},
|
|
{"id": "wildberries", "name": "Wildberries", "logo": "wildberries", "markets": ["俄罗斯"], "region": "俄罗斯及欧亚", "type": "综合电商", "access_level": "A", "access_label": "可直接申请", "cross_border": "已面向中国卖家开放,入驻和跨境物流条件以卖家后台为准", "textile_category": "Дом > Текстиль;适合大众价位床品、毯类和家居软装", "fit_sellers": ["电商卖家", "工厂型卖家"], "official_url": "https://www.wildberries.ru/catalog/dom-i-dacha/tekstil", "seller_url": "https://seller.wildberries.ru/", "confidence": "已核实"},
|
|
{"id": "rakuten", "name": "乐天市场 Rakuten", "logo": "rakuten", "markets": ["日本"], "region": "东亚", "type": "综合电商", "access_level": "B", "access_label": "需日本主体或代理", "cross_border": "以日本本地主体、代理或平台招商为主,不应按普通跨境店理解", "textile_category": "インテリア・寝具;适合日系单人床品、收纳、毛巾和生活杂货", "fit_sellers": ["品牌商", "成品供货商"], "official_url": "https://search.rakuten.co.jp/search/mall/寝具/", "seller_url": "https://www.rakuten.co.jp/ec/open/", "confidence": "需核对条件"},
|
|
{"id": "coupang", "name": "Coupang", "logo": "coupang", "markets": ["韩国"], "region": "东亚", "type": "综合电商", "access_level": "A", "access_label": "跨境项目开放", "cross_border": "中国跨境卖家可申请,需韩语商品信息和平台物流配合", "textile_category": "홈인테리어 > 침구;适合韩式床品、毯类、收纳和季节商品", "fit_sellers": ["电商卖家", "成品供货商"], "official_url": "https://www.coupang.com/np/search?q=침구", "seller_url": "https://marketplace.coupang.com/", "confidence": "已核实"},
|
|
{"id": "allegro", "name": "Allegro", "logo": "allegro", "markets": ["波兰"], "region": "中东欧", "type": "综合电商", "access_level": "B", "access_label": "国际卖家可申请", "cross_border": "面向国际卖家招商,申请和结算条件需以卖家中心当前规则为准", "textile_category": "Dom > Pościel;适合床品、毯类和大众家居软装", "fit_sellers": ["电商卖家", "成品供货商"], "official_url": "https://allegro.pl/listing?string=pościel", "seller_url": "https://allegro.pl/dla-sprzedajacych", "confidence": "需核对条件"},
|
|
{"id": "otto", "name": "OTTO", "logo": "otto", "markets": ["德国"], "region": "中西欧", "type": "综合电商", "access_level": "B", "access_label": "需欧盟主体", "cross_border": "通常需要欧盟主体、德国税务与德语客服,适合已有欧洲能力的品牌", "textile_category": "Wohnen > Heimtextilien;适合中高品质床品、窗帘和浴室纺织品", "fit_sellers": ["品牌商", "成品供货商"], "official_url": "https://www.otto.de/heimtextilien/", "seller_url": "https://www.otto.market/", "confidence": "已核实"},
|
|
{"id": "cdiscount", "name": "Cdiscount", "logo": "cdiscount", "markets": ["法国"], "region": "中西欧", "type": "综合电商", "access_level": "B", "access_label": "国际卖家可申请", "cross_border": "Marketplace 面向国际卖家,法国税务、EPR 与法语客服需单独核对", "textile_category": "Maison > Linge de maison;适合床品、毛巾、桌布和家居软装", "fit_sellers": ["电商卖家", "成品供货商"], "official_url": "https://www.cdiscount.com/maison/linge-maison/v-11710-11710.html", "seller_url": "https://seller.cdiscount.com/", "confidence": "需核对条件"},
|
|
{"id": "wayfair", "name": "Wayfair", "logo": "wayfair", "markets": ["美国", "加拿大", "英国", "德国"], "region": "欧美", "type": "垂直家居", "access_level": "B", "access_label": "供应商审核制", "cross_border": "以供应商合作为主,适合具备稳定供货、海外仓或本地主体能力的企业", "textile_category": "Bedding 一级类目;适合床品、毯类、枕芯和窗帘等完整家居系列", "fit_sellers": ["成品供货商", "品牌商", "工厂型卖家"], "official_url": "https://www.wayfair.com/bed-bath/sb0/bedding-c481592.html", "seller_url": "https://partners.wayfair.com/", "confidence": "已核实"},
|
|
{"id": "noon", "name": "Noon", "logo": "noon", "markets": ["阿联酋", "沙特阿拉伯", "埃及"], "region": "中东", "type": "综合电商", "access_level": "B", "access_label": "需本地主体或代理", "cross_border": "通常需要当地经营与税务能力,适合通过代理或区域合作进入", "textile_category": "Home & Kitchen;适合清凉床品、浴室纺织品和礼赠软装", "fit_sellers": ["品牌商", "成品供货商"], "official_url": "https://www.noon.com/uae-en/search?q=bedding", "seller_url": "https://sell.noon.com/", "confidence": "需核对条件"},
|
|
{"id": "bol", "name": "bol.com", "logo": "bol", "markets": ["荷兰", "比利时"], "region": "欧洲", "type": "综合电商", "access_level": "B", "access_label": "欧洲主体审核制", "cross_border": "官方 Partner Platform 面向符合条件的荷兰、比利时及欧洲经营主体,中国大陆主体不应按直接开放理解", "textile_category": "Wonen > Beddengoed;适合欧规床品、被套、毛巾和家庭软装", "fit_sellers": ["欧洲品牌商", "欧洲成品供货商"], "official_url": "https://www.bol.com/nl/nl/s/?searchtext=beddengoed", "seller_url": "https://partnerplatform.bol.com/en/cdp/selling-via-bol", "confidence": "已核实"},
|
|
{"id": "kaufland", "name": "Kaufland Global Marketplace", "logo": "kaufland", "markets": ["德国", "波兰", "捷克", "斯洛伐克", "法国", "意大利", "奥地利"], "region": "欧洲", "type": "综合电商", "access_level": "B", "access_label": "多国平台招商审核", "cross_border": "官方多国 Marketplace 注册开放,但中国主体直入、VAT、退货地址和本地语言服务需人工核验", "textile_category": "Wohnen > Bettwäsche;适合欧规床品、毯类、窗帘和大众家居纺织品", "fit_sellers": ["欧洲品牌商", "成品供货商", "具备欧盟履约能力的卖家"], "official_url": "https://www.kaufland.de/c/bettwaesche/~4821/", "seller_url": "https://www.kauflandglobalmarketplace.com/en/seller-registration/", "confidence": "已核实"},
|
|
{"id": "shopify", "name": "Shopify 独立站", "logo": "shopify", "markets": ["全球"], "region": "全球", "type": "独立站", "access_level": "A", "access_label": "可自主建站", "cross_border": "不是 Marketplace;中国企业可搭建品牌独立站,但支付、获客、税务、隐私和跨境履约需自行解决", "textile_category": "自建家纺品牌站;适合有内容、设计、复购和私域经营能力的床品与软装品牌", "fit_sellers": ["品牌商", "设计工作室", "具备独立站运营能力的卖家"], "official_url": "https://www.shopify.com/zh", "seller_url": "https://www.shopify.com/zh", "confidence": "已核实"},
|
|
{"id": "alibaba", "name": "Alibaba.com", "logo": "alibaba", "markets": ["全球"], "region": "全球", "type": "B2B批发", "access_level": "A", "access_label": "中国供应商可申请", "cross_border": "中国供应商可通过官方 Seller Center 开展出口 B2B,会员、认证和询盘运营条件以平台当前方案为准", "textile_category": "Home Textile;适合床品、毛巾、毯类、窗帘、面料和酒店布草批量出口", "fit_sellers": ["工厂型卖家", "贸易商", "成品供货商"], "official_url": "https://www.alibaba.com/trade/search?SearchText=bedding", "seller_url": "https://seller.alibaba.com/", "confidence": "已核实"},
|
|
{"id": "shein-marketplace", "name": "SHEIN Marketplace", "logo": "shein", "markets": ["美国", "欧洲", "中东", "巴西"], "region": "全球", "type": "时尚电商", "access_level": "B", "access_label": "平台招商审核", "cross_border": "中国有官方 Marketplace 招商入口,但不同站点主体、地址和税号要求不同;美国公开入口要求美国经营主体,不能视为全球无条件开放", "textile_category": "Home & Living;适合趋势型床品、抱枕、毯类、窗帘和快反软装", "fit_sellers": ["工厂型卖家", "品牌商", "快反供应商"], "official_url": "https://www.shein.com/pdsearch/bedding/", "seller_url": "https://sheinmarketplace.cn/", "confidence": "已核实"},
|
|
)
|
|
|
|
|
|
PLATFORM_HOME_URLS = {
|
|
"amazon-us": "https://www.amazon.com/", "walmart": "https://www.walmart.com/", "ebay": "https://www.ebay.com/",
|
|
"etsy": "https://www.etsy.com/", "temu": "https://www.temu.com/", "tiktok-shop": "https://www.tiktok.com/",
|
|
"shopee": "https://shopee.sg/", "lazada": "https://www.lazada.com/", "mercado-libre": "https://www.mercadolibre.com/",
|
|
"ozon": "https://www.ozon.ru/", "wildberries": "https://www.wildberries.ru/", "rakuten": "https://www.rakuten.co.jp/",
|
|
"coupang": "https://www.coupang.com/", "allegro": "https://allegro.pl/", "otto": "https://www.otto.de/",
|
|
"cdiscount": "https://www.cdiscount.com/", "wayfair": "https://www.wayfair.com/", "noon": "https://www.noon.com/",
|
|
"amazon-uk": "https://www.amazon.co.uk/", "amazon-de": "https://www.amazon.de/", "amazon-fr": "https://www.amazon.fr/",
|
|
"amazon-jp": "https://www.amazon.co.jp/", "amazon-in": "https://www.amazon.in/", "bol": "https://www.bol.com/",
|
|
"kaufland": "https://www.kaufland.de/", "shopify": "https://www.shopify.com/zh", "alibaba": "https://www.alibaba.com/",
|
|
"shein-marketplace": "https://www.shein.com/",
|
|
}
|
|
|
|
# 运营研究标记:依据家纺类目成熟度、平台覆盖与中国卖家可操作性整理,非实时搜索量。
|
|
PLATFORM_RANKING: dict[str, tuple[int, int]] = {
|
|
"amazon-us": (98, 55), "amazon-uk": (90, 48), "amazon-de": (91, 45), "amazon-fr": (86, 44),
|
|
"amazon-jp": (87, 46), "amazon-in": (72, 68), "walmart": (88, 42), "ebay": (90, 40),
|
|
"etsy": (76, 57), "temu": (84, 92), "tiktok-shop": (79, 95), "shopee": (83, 88),
|
|
"lazada": (78, 78), "mercado-libre": (80, 82), "ozon": (81, 80), "wildberries": (79, 74),
|
|
"rakuten": (77, 42), "coupang": (80, 65), "allegro": (75, 62), "otto": (73, 30),
|
|
"cdiscount": (70, 39), "wayfair": (86, 35), "noon": (68, 85), "bol": (67, 34),
|
|
"kaufland": (71, 50), "shopify": (82, 76), "alibaba": (95, 52), "shein-marketplace": (78, 88),
|
|
}
|
|
|
|
|
|
def build_platforms(checked_at: str, session: requests.Session) -> list[dict[str, Any]]:
|
|
def status(item: dict[str, Any]) -> int:
|
|
try:
|
|
response = requests.get(
|
|
str(item["seller_url"]),
|
|
headers=dict(session.headers),
|
|
timeout=15,
|
|
allow_redirects=True,
|
|
stream=True,
|
|
)
|
|
code = response.status_code
|
|
response.close()
|
|
return code
|
|
except requests.RequestException:
|
|
return 0
|
|
|
|
with ThreadPoolExecutor(max_workers=6) as executor:
|
|
status_codes = dict(zip((item["id"] for item in PLATFORMS), executor.map(status, PLATFORMS)))
|
|
items: list[dict[str, Any]] = []
|
|
for item in PLATFORMS:
|
|
homepage_url = PLATFORM_HOME_URLS[item["id"]]
|
|
sales_score, emergence_score = PLATFORM_RANKING.get(item["id"], (50, 50))
|
|
seller_translation = translation_fields(item["seller_url"])
|
|
items.append({
|
|
**item,
|
|
"title": item["name"],
|
|
"section": "platform",
|
|
"homepage_url": homepage_url,
|
|
"url": item["seller_url"],
|
|
"source_url": item["seller_url"],
|
|
"source": "平台官方卖家中心",
|
|
"authority": "平台官方",
|
|
"summary": f"{item['cross_border']}。{item['textile_category']}",
|
|
"home_textile_sales_score": sales_score,
|
|
"emergence_score": emergence_score,
|
|
"verified_at": checked_at,
|
|
"checked_at": checked_at,
|
|
**{
|
|
f"seller_{field}": seller_translation[field]
|
|
for field in ("needs_translation", "translation_url", "translation_fallback_url")
|
|
},
|
|
"seller_url_status": status_codes[item["id"]],
|
|
"link_status": (
|
|
"可访问" if 200 <= status_codes[item["id"]] < 400
|
|
else "官网限制自动检查" if status_codes[item["id"]] in (401, 403)
|
|
else "待人工复核"
|
|
),
|
|
"poster": {"eyebrow": "平台渠道", "accent": "#1e6f5c", "ink": "#10251f", "paper": "#eef8f4"},
|
|
})
|
|
return items
|