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
Example #3
0
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)