def checkMemberillust(memberillusturl, pid, soup=None): #读取标签 tags = getTags(soup) imgName = getName(soup) tmp = [val for val in tags if val in mytags] if len(tmp) != 0: img = soup.find('img', attrs={'alt': imgName}) if img: imgFile = FileUtils.joinPath(portraitDir, FileUtils.getfile(img['src'])) if FileUtils.exists(imgFile): print("文件已存在[%s]" % imgFile) else: print("开始下载图片[%s][%s]" % (imgFile, img['src'])) downLoad(img['src'], imgFile) print("下载图片[%s]结束" % imgFile) else: img = soup.find('div', attrs={'class': 'works_display'}) if img.find('a', attrs={'class': r' _work multiple '}): img1 = img.find('a', attrs={'class': r' _work multiple '}) if img.find('a', attrs={'class': r' _work manga multiple '}): img1 = img.find('a', attrs={'class': r' _work manga multiple '}) if img1 is not None: checkMemberillust_medium( "%s%s%s" % (indexurl, '/', img1['href']), pid, img1['href'].split('=', 2)[2])
def downLoad(src, imgFile, headers): try: HTMLUtils.downLoad_HTMLImg(src, imgFile, headers=headers) im = Image.open(imgFile) x, y = im.size print({'imagename': FileUtils.getfile(imgFile), 'image_x': x, 'image_y': y}) except Exception as error: print("downLoad function error:" + error) raise
def work_workStep1(url, pid, imgPid, soup=None): imgName = getName(soup) imgTags = getTags(soup) img = soup.find('img', attrs={'alt': imgName, 'class': 'original-image'}) imgSrc = img['data-src'] headers = copy.copy(HttpUtils.downLoadHead) headers[':path'] = imgSrc[imgSrc.find('.pixiv.net/')+10:] headers['referer'] = headers['referer'].replace("{id}", pid).replace('{imgid}', imgPid) downLoad(imgSrc, portraitDir + FileUtils.getfile(imgSrc), headers)
def checkMemberillust_medium(memberillusturl, pid, medium_id, soup=None): sections = soup.find('section', attrs={'class': 'manga'}) for section in sections.findAll('div', attrs={'class': 'item-container'}): img = section.find('a', attrs={'class': "full-size-container _ui-tooltip"}) HTMLData = HttpUtils.GET("%s%s" % (indexurl, img['href'])) soup = HTMLUtils.get_soup(HTMLData.text) img = soup.find('img') imgFile = FileUtils.joinPath(portraitDir, FileUtils.getfile(img['src'])) if FileUtils.exists(imgFile): print("文件已存在[%s]" % imgFile) else: print("开始下载图片[%s]" % imgFile) downLoad(img['src'], imgFile) print("下载图片[%s]结束" % imgFile)
def downLoad(src, imgFile, loadNumber=1): if number < loadNumber: os.remove(imgFile) return None try: ir = requests.get(src) if ir.status_code == 200: open('logo.jpg', 'wb').write(ir.content) f = open(imgFile, "wb") im = Image.open(f) f.close() x, y = im.size return { 'imagename': FileUtils.getfile(imgFile), 'image_x': x, 'image_y': y } except Exception as v: print(v)
def work_workmultipleStep3(memberillusturl, pid, imgPid, soup=None): img = soup.find('img') imgSrc = img['src'] headers = copy.copy(HttpUtils.downLoadHead1) headers['Referer'] = memberillusturl downLoad(imgSrc, portraitDir+FileUtils.getfile(imgSrc), headers)