网页库下载器

img-lurker的Python项目详细描述


img潜伏者

img潜伏者是一个画廊下载者。在

img lunker获取一个(HTML)网页的URL并下载链接的图片。 如果页面只包含缩略图,则链接到 图像,img潜伏者宁愿采取更大的一个。 如果有指向其他HTML页面的链接(它们本身包含完整大小的 图片),img潜伏者将通过这些链接找到更大的尺寸。在

img looker有一个“最小图像大小”来考虑一个图像是否值得下载 不是像按钮/分隔符那样的用户界面。链接不会跟随链接 包含图像标记(假定为缩略图)。在

示例

考虑一个具有以下HTML的站点:

<a href="fullimage1.jpg">
    <img src="thumbnail1.jpg" />
</a>
<a href="fullimage2.jpg">
    <img src="thumbnail2.jpg" />
</a>

img潜伏者会下载“fullimage1.jpg”和“fullimage2.jpg”。 如果链接指向其他包含全尺寸版本的HTML页面 图像(例如“fullimage1.html”包含“fullimage1.jpg”), img looker仍然可以通过页面链接找到fullimage1.jpg。在

选项

^{pr2}$

注入一个特定的cookie,访问某些受限的 访问页面。例如,有些subreddits要求您传递cookie“over18=1”。在

可以多次传递该选项以插入多个Cookie。在

--next-page-xpath HTML_XPATH

img-looker可以处理一个库中包含这么多内容的站点的分页 将站点拆分为编号页的图像。 HTML_XPATH应该是一个XPath表达式,定位到“next”的HTML链接 第页”。 如果这个论点被给出,在下载了一个“页面”的所有图像之后,img lunker 将跟随HTML_XPATH指向的链接并在下一页重复。在

警告:这会给大型画廊带来大量的流量。小心点否则你 可能会被网站阻止。在

--history-file FILE

标记此文件中所有已下载图像的URL,并避免重新下载URL 存在于此文件中。 当在同一个图库中多次运行img lunker时非常有用,通常在 画廊收到了新的图片。如果您使用 --next-page-xpath选择并杀死img潜伏者以避免淹没站点,使 停顿(分钟?小时?天?)然后重新启动img lunker:历史文件将 帮助它恢复中断的位置。在

这就假定每个图像都有一个唯一的URL(图像 URL始终具有相同的URL,例如没有变化的标记等),以及 相反地(URL在某一点上不会指向另一个图像,例如 图像没有按升序编号(否则“1.jpg”将指向 不同的图像)。在

--min-thumb-size WIDTHxHEIGHT
--min-image-size WIDTHxHEIGHT

图片的最小尺寸被认为是一个值得关注的缩略图或 图片值得下载。不下载导航按钮、徽标等很有用。 默认值是--min-thumb-size=128x128--min-image-size=400x400。在

--max-aspect-ratio WIDTH:HEIGHT

宽度和高度之间的最大比例(或高度对宽度,img潜伏者是聪明的 足够弄明白)认为一个图像是值得下载的。在

例如,通过“16:9”,img lunker将接受具有维度的图像 1920x1080或1080x1920,它们分别是16:9和9:16,但也是1600x1200 或者1200x1600,因为它们是4:3(和3:4),这是较低的(看起来更像 一个正方形)比最大值“16:9”。考虑了纵向和横向的比例 相当于。 但是,通过“16:9”将丢弃尺寸为1200x300的横幅,因为 它的比例是4:1,比16:9扭曲得多(非常薄的矩形)。 它也会拒绝尺寸为300x1200的横幅,因为它是1:4, 相当于4:1。在

一张照片很少是正方形,但几乎从来没有像4:1那样薄,除了全景照片,所以 例如,如果要下载全景图,请配置此选项。 默认值是--max-aspect-ratio=4:1。在

--debug

调试日志。在

限制

img lunker不会解释javascript,尽管它有特定的提示需要检测 延迟加载图片,所以它可能在instagram这样的网站上不起作用。 如果不打开的话所以它将无法从 雷迪特。 img潜伏者不爬网一个网站,不支持嵌套的画廊,它只是 获取一个库,并期望它包含所需的图像。在

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

推荐PyPI第三方库


热门话题
java Cassandra docker无法通过JMX连接   java以编程方式在图片模式下启用图片   java访问json数组中的json数组   swing Java 2D API:空指针异常   java Storm 2.0.0内存不足   java为什么Splitter在Spring Integration中处理集合项时直接返回集合?   java Spring启动到Postgres数据库驱动程序问题   java如何将对象围绕其中心旋转90度?   无法返回变量。“java:找不到变量”   通过BigInteger进行Java基转换   在Java中获取日期格式   java构建具有依赖关系的jar并将其绑定到tar中。gz使用maven组装   java为什么Guice在main中从UncaughtExceptionHandler抛出$ComputeException?   spring升级到Java7时有哪些陷阱   java从JTable向数组获取值   java Android在启动新活动时会杀死多个以前的活动   postgresql是否可以在批处理过程中运行java命令?   安卓使用Java代码创建文件上传请求   java一些元素神奇地没有从ArrayList中删除