import json
from utils.HtmlUtils import htmlUtils
from utils.comic.ComicInfo import comicInfo
from utils.downloader import download_images
from utils.base.BaseComicEntity import baseComic
class comicEntity:
@classmethod
def booksJson(cls,url,update=False):
data = htmlUtils.xpathData('//script[@id="__NEXT_DATA__"]/text()',url=url,update=update)
return json.loads(data[0]).get("props").get("pageProps").get("books")
@classmethod
def downladsComcis(cls,url):
#漫画名
books = cls.booksJson(url,update=True)
for x in range(0, len(books)):
comicInfo.setComicInfo(comicname=books[x].get("name"),
current_chapter_img=comicInfo.getBaseUrl(url)+"/books/"+books[x].get("id"),
update_at=books[x].get("updatedAt"))
cls.oneComic(baseComic.updateComics())
@classmethod
def oneComic(cls,c_url,sleep=None,date=comicInfo.getUpdateAt()):
if c_url == None: return None
title = htmlUtils.xpathData('//div[@class="col"]/h5/text()',url=c_url,num=0,update=True)
#别名
#alias = htmlUtils.xpathData('//span[contains(@class,"bookid_alias")]/text()',num=1)
icon = htmlUtils.xpathData('//img[@class="img-thumbnail"]/@src',num=0)
author = htmlUtils.xpathData('//div[contains(@class,"bookid_bookInfo")]/p[1]/text()',num=1)
tags = htmlUtils.xpathData('//div[contains(@class,"bookid_bookInfo")]/p[3]/b/text()',num=0)
action = htmlUtils.xpathData('//div[contains(@class,"bookid_bookInfo")]/p[2]/text()',num=1)
dep = htmlUtils.xpathData('//div[contains(@class,"bookid_bookInfo")]/p[4]/text()',num=1)
update_date = htmlUtils.xpathData('//div[contains(@class,"bookid_bookInfo")]/p[5]/small/text()',num=1)
chapters = htmlUtils.xpathData('//div[contains(@class,"bookid_chapterBox")]//div[contains(@class,"bookid_chapter")]/a/text()')
chapter_href = htmlUtils.xpathData('//div[contains(@class,"bookid_chapterBox")]//div[contains(@class,"bookid_chapter")]/a/@href')
baseComic.oneComic(url=c_url,title=title,author=author,
icon=icon,tags=tags,dep=dep,chapters=chapters,chapter_href=chapter_href,
genre="韩漫",age_rating="R18+")
comicInfo.updateComicDate(date=date)