def getOutlineScore(number): # 获取简介 outline = '' score = '' try: response = post_html("https://www.jav321.com/search", query={"sn": number}) detail_page = etree.fromstring(response, etree.HTMLParser()) outline = str(detail_page.xpath('/html/body/div[2]/div[1]/div[1]/div[2]/div[3]/div/text()')).strip(" ['']") if re.search(r'<b>评分</b>: <img data-original="/img/(\d+).gif" />', response): score = re.findall(r'<b>评分</b>: <img data-original="/img/(\d+).gif" />', response)[0] score = str(float(score) / 10.0) else: score = str(re.findall(r'<b>评分</b>: ([^<]+)<br>', response)).strip(" [',']").replace('\'', '') if outline == '': dmm_htmlcode = get_html( "https://www.dmm.co.jp/search/=/searchstr=" + number.replace('-', '') + "/sort=ranking/") if 'に一致する商品は見つかりませんでした' not in dmm_htmlcode: dmm_page = etree.fromstring(dmm_htmlcode, etree.HTMLParser()) url_detail = str(dmm_page.xpath('//*[@id="list"]/li[1]/div/p[2]/a/@href')).split(',', 1)[0].strip( " ['']") if url_detail != '': dmm_detail = get_html(url_detail) html = etree.fromstring(dmm_detail, etree.HTMLParser()) outline = str(html.xpath('//*[@class="mg-t0 mg-b20"]/text()')).strip(" ['']").replace('\\n', '').replace('\n', '') except Exception as error_info: print('Error in javbus.getOutlineScore : ' + str(error_info)) return outline, score
def main(number, isuncensored=False): try: response = post_html("https://www.jav321.com/search", query={"sn": number}) if str(response) == 'ProxyError': raise TimeoutError if '未找到您要找的AV' in response: raise Exception('Movie Data not found in jav321!') detail_page = etree.fromstring(response, etree.HTMLParser()) release = getRelease(response) actor = getActor(response) imagecut = 1 cover_small = '' if 'HEYZO' in number.upper() or isuncensored: imagecut = 3 cover_small = getCoverSmall(detail_page) if cover_small == '': imagecut = 0 dic = { 'actor': actor, 'title': getTitle(response), 'studio': getStudio(response), 'outline': getOutline(detail_page), 'runtime': getRuntime(response), 'release': release, 'number': getNum(response), 'score': getScore(response), 'tag': getTag(response), 'series': getSeries(response), 'year': getYear(release), 'actor_photo': getActorPhoto(actor.split(',')), 'cover': getCover(detail_page), 'extrafanart': getExtraFanart(detail_page), 'cover_small': cover_small, 'imagecut': imagecut, 'director': '', 'publisher': '', 'website': getWebsite(detail_page), 'source': 'jav321.py', } except TimeoutError: dic = { 'title': '', 'website': 'timeout', } except Exception as error_info: print('Error in jav321.main : ' + str(error_info)) dic = { 'title': '', 'website': '', } js = json.dumps( dic, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ':'), ) # .encode('UTF-8') return js
def getOutlineScore(number): # 获取简介 dmm_htmlcode = get_html("https://www.dmm.co.jp/search/=/searchstr=" + number + "/sort=ranking/") dmm_page = etree.fromstring(dmm_htmlcode, etree.HTMLParser()) dmm_detail = get_html(str(dmm_page.xpath('//*[@id="list"]/li[1]/div/p[2]/a/@href')).split(',',1)[0].strip(" ['']")) html = etree.fromstring(dmm_detail, etree.HTMLParser()) outline = str(html.xpath('//*[@class="mg-t0 mg-b20"]/text()')).strip(" ['']") if outline.strip() == "": response = post_html("https://www.jav321.com/search", query={"sn": number}) detail_page = etree.fromstring(response, etree.HTMLParser()) outline = str(detail_page.xpath('/html/body/div[2]/div[1]/div[1]/div[2]/div[3]/div/text()')).strip(" ['']") score = str(html.xpath('//*[@class="d-review__average"]/strong/text()')).strip(" ['']点") return outline, score
def getOutlineScore(number): # 获取简介 outline = '' score = '' try: response = post_html("https://www.jav321.com/search", query={"sn": number}) detail_page = etree.fromstring(response, etree.HTMLParser()) outline = str(detail_page.xpath('/html/body/div[2]/div[1]/div[1]/div[2]/div[3]/div/text()')).strip(" ['']") if re.search(r'<b>评分</b>: <img data-original="/img/(\d+).gif" />', response): score = re.findall(r'<b>评分</b>: <img data-original="/img/(\d+).gif" />', response)[0] score = str(float(score) / 10.0) else: score = str(re.findall(r'<b>评分</b>: (.+)<br>', response)).strip(" [',']").replace('\'', '') except Exception as error_info: print('Error in javdb.getOutlineScore : ' + str(error_info)) return outline, score