《linux shell 脚本编程攻略 (第2版)》 第五章 ”一团乱麻?没有这回事“ 笔记
主要命令:
wget
,lynx
,curl
,图片抓取脚本
,网页相册生成脚本
- wget
wget -t 5 www.codeshold.com
,wget -t 0 www.codeshold.com
无限次尝试,-O outfile.html
,-o out.log
- 可限速
--limit-rate 20k
, 可限制配额--quota 100m
或-Q 100m
- 断点续传
wget -c www.codeshold.com
- 镜像整个网站
wget --mirror --convert-links www.codeshold.com
或者wget -r -N -k -l DEPTH URL
,其中-k
和--convert-links
指示wget将页面的链接地址转换为本地地址,-N
使用文件的文件戳 wget --user USERNAME --password PADDWD URL
wget http://10.108.255.249/cgi-bin/do_login --post-data "username=$name&password={TEXT}$pass&drop=0&type=1&n=100"i -q
-
lynx
- curl
curl www.codeshold.com -o swf.html --progress
,--silent
不显示进度信息- 断点续传
curl URL/file -C offset
,curl -C -URL
(程序自己推断出续传的位置) - 参照页(refer)可标志用户从哪个页面到达当前页面的,呈现的页面可能会不一样
curl --referer www.google.com www.codeshold.com
curl www.codeshold.com --cookie "user=wuzhimang;pass=mydream"
, 将cookie另存为一个文件curl www.baidu.com --cookie-jar cookie.file
- 使用用户代理(user agent),某些网站需特定的浏览器支持支持(如IE)
curl www.codeshold.com --user-agent "Mozilla/5.0"
用户代理字符串 - 添加头部信息
curl -H "Host: www.codeshold.com" -H "Accept-language: en" www.codeshold.com
- 限定
--limit-rate 20k
,--max-filesize bytes
- 认证
curl -u user:pass http://codeshold.com
,curl -u user http://10.108.255.249/
- 添加头部
-I
或--head
- 命令行访问Gmail (不能用的)
$ cat gmail_bash.sh
#!/bin/bash
username='wuzhimang@gmail.com'
password='XXXX'
SHOW_COUNT=5
echo
curl -u $username:$password "https://mail.google.com/mail/feed/atom" | \
tr -d '\n' | sed 's:</entry>:\n:g' | \
sed -n 's/.*<title>\(.*\)<\/title.*<author><name>\([^<]*\)<\/name><email>\([^<]*\).*/From: \2 [\3] \nSubject: \1\n/p' | \
head -n $(( $SHOW_COUNT * 3))