在平时上网的时候,发现有些图片不错,想保存到本地,一个一个的保存确实够费劲的,如果把整个网页都保存了,有些又是自己不需要的,就算下载下来了,还得从上百个网页元素中去筛选,哪些是css文件,哪些是js文件。如果能够使用命令来作为图片下载器就好了,至少不用那么费神的去干很多重复的工作。

我们可以使用curl这个强大的工具来完成这个看似很艰难的任务。

首先的难点就是从网页中抓取图片的url,一般网页中都会是以

的形式出现的。我们可以使用下面的形式来抽取图片的url

curl -s "$1" |egrep -o  "

]*>"|sed 's/

这样就会把网页中的Img标签的内容给抽取出来。

接着我们继续使用curl来根据得到的url来下载图片。

我们可以把命令整合起来,完整的脚本就类似下面的形式

curl -s $1 |egrep -o  "

]*>"|sed 's/

tmp_getpic.sh

ksh tmp_getpic.sh

简单举个例子。

我们从下面的网站中下载图片

http://image.baidu.com/

直接运行 ksh getpic.sh "http://image.baidu.com/"

查看tmp_getpic.sh的内容如下:

curl -s -O

curl -s -O http://img1.bdstatic.com/img/image/shitu/feimg/uploading.gif

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/chongwu15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/sheying15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/mingxing15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/bizhi15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/sheji15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/shishang15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/meishi15a.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/lvyou15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/hunjia15.jpg

curl -s -O http://img0.bdstatic.com/img/image/shouye/xinshouye/qiche15.jpg

[ora11g@rac1 ~]$

可见已经解析出了很多的图片了。直接通过curl下载就可以了。如果网站的链接再复杂一些也没有关系,基本都能解析出来。

linux用命令下载图片,巧用linux命令做图片下载器相关推荐

  1. html背景和框如何居中显示图片,巧用background属性实现图片居中

    想必大家都常被页面居中这个问题困扰吧,这里简单分享一下一个使用background样式属性来实现图片居中的新用法. 很久以前本骚年常用image.onload()这样的方式获取图片大小再进行调整,得到 ...

  2. linux命令wget的url路径太长,Linux中WGET下载https链接及WGET命令的详解

    Linux中WGET下载https链接及WGET命令的详解 使用如下的命令下载https链接: ```bash wget -r -np -nd --accept=gz --no-check-certi ...

  3. xshell上传本地文件命令_linux学习 XShell上传、下载本地文件到linux服务器

    (一)通过命令行的方式 1.linux服务器端设置 在linux主机上,安装上传下载工具包rz及sz; 如果不知道你要安装包的具体名称,可以使用yum provides */name 进行查找系统自带 ...

  4. linux 切图软件下载,学会23个linux常用命令,不做前端切图仔~

    来源 | https://segmentfault.com/a/1190000021439560 前言一个前端好好切图不好吗?为什么要学 linux 呢? 嗯,真香 ! 1. ls 命令 : 显示目录 ...

  5. linux应用程序逆向,Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)...

    使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法. 这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢? 发 ...

  6. linux获取完整的man(manpages)linux参考手册/中文man的下载和使用/获取buildin 命令的完整帮助文档/多种man手册/man着色colorful man

    文章目录 获取完整的man(manpages)linux参考手册/中文man的下载和使用/获取buildin 命令的完整帮助文档 搜索manpages 相关package 安装扩展man手册 refe ...

  7. linux下载文件夹到本地命令行,linux下载文件到本地命令,linux下载文件到本地命令 下载工具...

    linux下载文件到本地命令,linux下载文件到本地命令 下载工具 来源:互联网/编辑:佚名/时间:2020-09-08 在手机上看 扫一扫进入手机端 linux用户命令在哪个文件夹下 用 whic ...

  8. 分享巧记Linux命令的方法

    最近有些学弟经常私信问我说,他们自己是Linux方面的小白,对于Linux的命令了解十分的少,虽然每次跟着我推荐的学习视频教程可以进行操作,但是离开了视频,就又是两眼抓瞎,什么也想不起来.不知道怎么样 ...

  9. linux的yum命令无法使用在哪里下载_一行命令下载全网视频,这个命令太牛逼了!...

    相信大家有遇到这样的情况,在网站上看到一些不错的视频,想要下载下来,但是没有找到网站的下载入口. 虽然像优酷.爱奇艺.腾讯视频都有自己的客户端,但下载的视频都是它们专用格式,其它播放器无法播放. 今天 ...

最新文章

  1. Jq获取同一名称单选框(radio)被选中的值
  2. Netflix推荐系统(Part two)-系统架构
  3. CSS基础——盒子模型【学习笔记】
  4. Linux之软件安装rpm、yum/dnf、源码(安装)
  5. 微信小程序开发入门与实践
  6. 实践秘籍:Boosting 与 AdaBoost
  7. 2021全国大学生信息安全竞赛初赛部分Write up
  8. 学术篇 | 不同需求的认知控制揭示了语义记忆和情景记忆提取共享的神经机制
  9. 傻瓜教学——什么是常量?常量可以分几类?它们分别又是什么?又有什么含义?
  10. 安卓开机画面_【电视技术】索尼液晶电视开机横线,图像上下跳动技改方案
  11. tiktok英国小店注册流程介绍
  12. 2017身残志坚的定西考生魏祥上清华
  13. java 蓝牙_PC平台上JAVA蓝牙通信实现方法
  14. 乖离率背离公式_乖离率BIAS操盘口诀:“W底上涨为先,M顶下跌为先”仅12字,赚得盆满钵满...
  15. TZOJ 7034: 竹取飞翔 ~ Lunatic Princess 并查集+数学。
  16. 三款『正则表达式』可视化工具
  17. EventBus的介绍
  18. 好一场逗鹅冤:一瓶老干妈撬动BAT
  19. LAG()和LEAD() 分析函数详解
  20. 零基础小白自学编程选哪种语言好?告诉你世上最好编程语言推荐

热门文章

  1. JAVAweb开发(一)javaweb概述
  2. IO_file结构、FSOP、house of orange总结
  3. 跨时钟域信号如何处理(一、单bit信号)
  4. TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法
  5. 11.4 使用Markdown和Flask-PageDown:没有文本编辑框的问题
  6. linux sftp 命令_Linux Sftp命令示例
  7. 【ThreeJS基础教程-初识Threejs】1.2掌控我们的物体和模型
  8. 图形学扫描线填充算法
  9. html网页百度分享按钮安装,轻松几步自定义百度分享-打造个性化的百度分享按钮 | SDT技术网...
  10. strtok函数用法