You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
879 B
29 lines
879 B
# ============================================================
|
|
# File: scraper/sites/__init__.py
|
|
# Purpose:
|
|
# Site autodetection based on URL.
|
|
# ============================================================
|
|
|
|
from scraper.sites.piaotian import PiaotianScraper
|
|
|
|
|
|
def get_scraper_for_url(url: str):
|
|
"""
|
|
Return the correct scraper instance for a given URL.
|
|
Later: add more site implementations.
|
|
"""
|
|
if "ptwxz" in url or "piaotian" in url:
|
|
return PiaotianScraper()
|
|
|
|
raise ValueError(f"No scraper available for URL: {url}")
|
|
|
|
|
|
# ============================================================
|
|
# Backwards-compatibility export for legacy BookScraper
|
|
# ============================================================
|
|
# Old code expects:
|
|
# from scraper.sites import BookSite
|
|
# We map that to our new PiaotianScraper implementation.
|
|
|
|
BookSite = PiaotianScraper
|