lib.itmens/catalog/sites/jjwxc.py

40 lines
1.2 KiB
Python
Raw Normal View History

2024-12-11 13:46:19 +00:00
import html
from catalog.common import *
from catalog.models import *
@SiteManager.register
class JJWXC(AbstractSite):
SITE_NAME = SiteName.JJWXC
ID_TYPE = IdType.JJWXC
URL_PATTERNS = [
r"https://www\.jjwxc\.net/onebook\.php\?novelid=(\d+)",
]
WIKI_PROPERTY_ID = ""
DEFAULT_MODEL = Edition
@classmethod
def id_to_url(cls, id_value):
return f"https://www.jjwxc.net/onebook.php?novelid={id_value}"
def scrape(self):
api_url = (
f"https://app.jjwxc.net/androidapi/novelbasicinfo?novelId={self.id_value}"
)
o = BasicDownloader(api_url).download().json()
return ResourceContent(
metadata={
"localized_title": [{"lang": "zh-cn", "text": o["novelName"]}],
"author": [o["authorName"]],
"format": Edition.BookFormat.WEB,
"localized_description": [
{
"lang": "zh-cn",
"text": html.unescape(o["novelIntro"]).replace("<br/>", "\n"),
}
],
"cover_image_url": o["novelCover"],
},
)