python脚本/类下载一个完整的imgur相册到您选择的文件夹中

imgur-downloader的Python项目详细描述


这是一个简单的python脚本,包含一个类和命令行接口 这使得你可以用任何imgur链接一次下载全分辨率的ann图像。

JTARA1叉子-功能

  • 下面是现在支持的链接类型的一些示例:
  • 相册文件夹或图像的名称由html<;title>;值或传递的参数确定。

  • >P>防止IGUR下载不存在图像 通过检查是否重定向了直接链接url,比较直接链接图像和本地文件的bytearray。

  • 使用相册/图库/图像标题作为已创建的文件夹标题,其中包含附加了键的图像,例如:

    We don't have a blue backdrop, just tint the whole photo blue. (SnkkAVU).png
    
  • 添加“仅打印”选项,打印imgur url的直接链接。

  • 如果遇到IMGUR下载,则不存在图像。 它是通过比较http请求的字节来实现的 到程序中的本地imgur dne文件。 此功能可在init参数中切换。

  • Added function is_imgur_dne_image(self, img_path), which returns True if the image from img_path is the same image as the Imgur does not exist image and return False otherwise.
  • Added function are_files_equal(self, file1, file2), which compares the bytes and returns True if the bytes are equal, and return False otherwise
ImgurDownloader('http://i.imgur.com/removed.png',delete_dne=True,debug=True).save_images()
  • 将扩展名为.gifv的imgur链接下载为mp4文件
ImgurDownloader('http://i.imgur.com/A61SaA1.gifv').save_images()
  • 保存图像&;cite>直接下载方法现在返回两个整数的元组。 第一个整数表示下载成功 第二个表示跳过的下载(失败或检测到imgur dne)。 例如,输出最后一行的值是从保存图像方法返回的值:
# Code ran (url is an imgur Album with 5 images):print(imguralbum.ImgurDownloader(url,dir1,file_name=rand_name,debug=False).save_images())# output: (5, 0)

初始化函数参数更改

  • 第二个可选参数,dir_download=os.getcwd(), 允许下载到特定目录(不适用于cli),例如:
ImgurDownloader('http://imgur.com/SnkkAVU','/home/user/Downloads/')
  • 第三个可选参数,文件名=', 如果输入是单个图像,则允许用户指定文件名 或文件夹,如果输入是相册。 注意,这比imgur键和相册网页标题优先,例如:
ImgurDownloader('http://imgur.com/SnkkAVU','/home/user/Downloads/','my-img')
  • 第四个可选参数,delete=true, 它检查下载的每个图像,如果其字节与imgur-dne.png的字节匹配,则将其删除,例如:
ImgurDownloader('http://imgur.com/SnkkAVU','/home/user/Downloads/','my-img',True)
  • 第五个可选参数,debug=false, 它在代码运行时在整个代码中打印多个变量
ImgurDownloader('http://imgur.com/SnkkAVU','/home/user/Downloads/','my-img',True,True)

要求

python=3.3

命令行用法

$ imgur_downloader [album URL][folder to save to]

将相册中的所有图像下载到/users/alex/images/downloaded文件夹中

$ imgur_downloader http://imgur.com/a/uOOju /Users/alex/images/downloaded

下载所有图像并将其放入当前目录下名为“uooju”的相册中

$ imgur_downloader http://imgur.com/a/uOOju

它也可以与下载程序一起使用,例如使用仅打印选项的wget

$ imgur_downloader --print-only http://imgur.com/a/SVq41 | xargs wget

类用法

该类允许您在自己的python程序中下载imgur专辑,而不必 通过命令行。下面是它的用法示例:

downloader=ImgurDownloader("http://imgur.com/a/uOOju")print("This albums has {} images".format(downloader.num_images()))downloader.save_images()

回拨

您可以通过两次回调连接到类进程:

downloader.on_image_download()downloader.on_complete()

通过查看docblocks,您可以看到您的回调函数得到了什么样的参数 对于.py文件中的on_*函数。

完整文档

整个shebang、类和cli都使用单个.py文件中的字符串docblock进行了完整的文档记录 所以请仔细阅读,而不是依赖这个自述文件,这可能会过时。

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ByteArrayOutputStream的java解码属性   java S3 SDK在上载时更新单个对象,而不是创建新文件   java hibernate:无法从eclipse连接到DB   java如何在强制转换JComboBox之前检查其类型?   http从Java中的GETPOST请求方法捕获URI、资源名称,如开发人员工具中所示   java在Spring@Bean方法中返回接口的局限性   Java中的Web服务和客户端(使用Eclipse Apache Axis 2自底向上服务)某些代码会引发异常   java spring安全+rest不起作用   java将LinkedList添加到包含LinkedList的LinkedList并更改添加的LinkedList   java是否临时删除对象的属性?   java使用AnimatedGifEncoder类创建的gif图像的部分帧是不透明的   java如何高效地处理maven3时间戳快照?   java向集合对象添加另一项   java如何将动态参数传递给jquery函数   java使用libGdx桌面端口作为Android GLES20的仿真器