当前位置: 首页 > news >正文

《Linux Shell脚本攻略》学习笔记-第五章

5.1  简介

借助HTTP协议所提供的功能以及命令行实用工具,我们可以用脚本满足大量的web自动化需求。

5.2 web页面下载

wget是一个用于文件下载的命令行工具,选项繁多且用法灵活。

下载单个文件或web页面

指定从多个URL处进行下载

我们可以通过选项-O指定输出文件名。

也可以通过-o来指定一个日志文件,这样日志信息就不会被打印到stdout了。

选项-t可以指定在放弃下载之前尝试多少次

选项--quota或-Q可以指定最大下载配额,对于存储空间有限的系统,限制下载量是有必要的。

wget像爬虫一样以递归的方式遍历网页上所有的URL链接,并逐个下载。

5.3 以纯文本形式下载页面

Lynx是一款基于命令行的web浏览器,能够以纯文本形式下载web网页。

选项-dump能够以纯ASCII编码的形式下载web页面。

5.4 cURL入门

cURL默认会将下载文件输出到steout,将进度信息输出到stderr。如果不想显示进度信息,可以使用--silent。

选项-O指明将下载数据写入文件,采用从URL中解析出的文件名。

选项-o可以指定输出文件名

如果需要在下载过程中显示形如#的进度条,可以使用选项--progress

  1. 断点续传

cURL能够从特定的文件偏移处继续下载,偏移量是以字节为单位的整数。如果只是想断点续传,那么cURL不需要指定明确的字节偏移。

要是你希望cURL推断出正确的续传位置,请使用选项-C -。

  1. 用cURL设置参照页字符串

web开发人员可以根据条件做出判断:如果参照页是www.google.com,那么就返回一个google页面,否则返回其他页面

  1. 用cURL设置cookie

可以使用curl来指定并存储HTTP操作过程中使用到的cookie。cookie需要以name=value的形式来给出。多个cookie之间使用分号分隔。

选项--cookie-jar可以将cookie另存为文件

5.7 图片爬取器及下载工具

#!/bin/bash

#Filename: img_downloader.sh

if [ $# -ne 3 ];

then

 echo "Usage: $0 URL -d DIRECTORY"

 exit -1

fi

while [ $# -gt 0 ]

do

 case $1 in

 -d) shift; directory=$1; shift;;

 *) url=$1; shift;;

 esac

done

echo "URL: $url"

echo "DIR: $directory"

mkdir -p $directory;

baseurl=$(echo $url | egrep -o "https?://[a-z.\-]+")

echo Downloading $url

curl -s $url | egrep -o "<img src=[^>]*>" |

sed 's/<img src=\"\([^"]*\).*/\1/g' |

sed "s,^/,$baseurl/," > /tmp/$$.list

cd $directory;

while read filename;

do

 echo Downloading $filename

 curl -s -O "$filename" --silent

done < /tmp/$$.list

 

 

 

相关文章:

  • 公司品牌网站建设价格/网络运营培训班多少钱
  • 厦门做网站seo/品牌广告语
  • 网络规划设计师教程第二版pdf下载/windows优化大师破解版
  • 北京网站建设肖庆华/google搜索优化方法
  • 做banner拉伸网站会糊/外贸定制网站建设电话
  • 深圳制作网站培训机构/关键词歌词图片
  • VMware17虚拟机安装Ubuntu最新版本(Ubuntu22.04LTS)详细步骤
  • [极客大挑战 2019]Upload
  • 指针习题(1):升序排序
  • 【自学Docker】Docker环境命令
  • Nginx高并发实现原理学习
  • 32位机虚拟内存地址最大0xFFFFFFFF是怎么得出来的?内存大小与地址的对应关系以及计算方法?
  • 谷歌账号被封怎么办?谷歌账号解封申诉步骤请收好!
  • 分布式-数据库治理
  • LeetCode题解 回溯(五):332 重新安排行程;51 N皇后;37 解数独 —— hard三连
  • 注意力FM模型AFM
  • 2023年基建工程(设计规划施工)经验分享,超多干货
  • 有哪些数据恢复软件?13个好用的数据恢复工具分享