def download_topics(cls, url, path, quality=1): html = HtmlDownloader.download(url) illu_list = HtmlDownloader.parse_illustration(html) title_des = HtmlDownloader.get_title(html) if title_des and illu_list: title_des["size"] = len(illu_list) CommonUtils.write_topic_des(path + "/topic.txt", title_des) if not illu_list: return for illu in illu_list: try: filename = CommonUtils.filter_dir_name(illu.title) extension = os.path.splitext(illu.image)[1] id = CommonUtils.get_url_param(illu.image_page, "illust_id") if quality == 1: # 通过api获取 插画原图地址,下载原图 detail = PixivApi.illust_detail(id) if detail: download_url = ImageDownload.get_image_url( illu, detail) if IMAGE_USE_ORG_NAME: save_path = path + "/p_%s_%s%s" % (id, filename, extension) else: save_path = path + "/p_%s%s" % (id, extension) print(save_path) PixivApi.download(download_url, path=save_path) else: print(illu.title + " can't get detail id :" + id) else: # 直接下载 pixivision 展示图 print(path + "/p_%s_%s%s" % (id, filename, extension)) PixivApi.download(illu.image, path=path + "/p_%s_%s%s" % (id, filename, extension)) except Exception, e: error_log("Download Illu Fail:" + " Illustration :" + str(illu)) error_log(e) continue
def download_topics(cls, url, path, create_path=False, downloader=None): html = PixivisionHtmlParser.download(url) illu_list = PixivisionHtmlParser.parse_illustration(html) title_des = PixivisionHtmlParser.get_title(html) # # 是否由该线程自主创建文件夹 if create_path and title_des and title_des.has_key('title'): path = path + "/" + title_des['title'] if not os.path.exists(path): os.makedirs(path) if title_des and illu_list: title_des["size"] = len(illu_list) title_des["url"] = url CommonUtils.write_topic_des(path + "/topic.txt", title_des) if not illu_list: return for illu in illu_list: id = CommonUtils.get_url_param(illu.image_page, "illust_id") if downloader: downloader.download_all_by_id(id, path + '/') else: PixivImageDownloader.download_all_by_id(id, path + '/') print('*' * 10) print(url + " Download End!") return path
def test_str_find(): data = {'title': u'想抱着睡觉♡抱枕套风格的插画特辑', 'size': '15', 'description': u'印着角色躺在上面的图的抱枕套,在宅向周边里一直都特别受欢迎。将抱枕放在床上,仿佛最喜爱的那个角色就睡在自己身边一样,有时候还会兴奋到无法安睡。而抱着抱枕酣然入睡的时候,又会做一个怎样的美梦呢?这次,就为大家送上描绘了“抱枕套”的插画作品特辑。快来看看吧!', 'url': 'https://www.pixivision.net/zh/a/2613'} file_path = "/Users/imn5100/Downloads/pixiv/想抱着睡觉♡抱枕套风格的插画特辑//topic.txt" CommonUtils.write_topic_des(file_path, data)