# -*- coding: utf-8 -*- import re from lxml import etree from urllib.parse import urljoin from .parser import Parser class Fc2(Parser): source = 'fc2' imagecut = 0 expr_title = '/html/head/title/text()' expr_studio = '//*[@id="top"]/div[1]/section[1]/div/section/div[2]/ul/li[3]/a/text()' expr_release = '//*[@id="top"]/div[1]/section[1]/div/section/div[2]/div[2]/p/text()' expr_runtime = "//p[@class='items_article_info']/text()" expr_director = '//*[@id="top"]/div[1]/section[1]/div/section/div[2]/ul/li[3]/a/text()' expr_actor = '//*[@id="top"]/div[1]/section[1]/div/section/div[2]/ul/li[3]/a/text()' expr_cover = "//div[@class='items_article_MainitemThumb']/span/img/@src" expr_tags = "//a[@class='tag tagTag']/text()" def search(self, number): self.number = number.replace('FC2-', '').replace('fc2-', '') self.detailurl = 'https://adult.contents.fc2.com/article/' + self.number + '/' self.htmlcode = self.getHtml(self.detailurl) if self.htmlcode == 404: return 404 htmltree = etree.HTML(self.htmlcode) result = self.dictformat(htmltree) return result def getNum(self, htmltree): return 'FC2-' + self.number def getRelease(self, htmltree): return super().getRelease(htmltree).strip(" ['販売日 : ']").replace('/','-') def getActors(self, htmltree): actors = super().getActors(htmltree) if not actors: actors = '素人' return actors def getCover(self, htmltree): return urljoin('https://adult.contents.fc2.com', super().getCover(htmltree)) def getExtrafanart(self, htmltree): html_pather = re.compile(r'