shell 下载网页视频+合并脚本

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
langyxxl
帖子: 443
注册时间: 2012-01-17 22:17

shell 下载网页视频+合并脚本

#1

帖子 langyxxl » 2012-11-01 13:35

新手学shell脚本往往觉得枯燥,提供一些实际的例子有助于激发兴趣,同时还能学到很多命令方面的知识

我先分享一个ubuntu12.04 自动下载网页视频+合并的脚本
用法很简单,只要 download url就可以了,脚本写了,最好放在自己的一个单独的文件夹下,比如在~下建立一个mysh目录,并把mysh加到PATH中,在~/.bashrc中添加就可以了(PATH=$PATH:~/mysh)

代码: 全选

#!/bin/bash

if [ $# -ne 1 ]     #检测参数数量
then
	echo "Usage: $0 URL"
	exit 1
fi

temf=`tempfile`
url="http://www.flvcd.com/parse.php?flag=&format=&kw="`echo $1 |sed -e 's/\//%2F/g' -e 's/:/%3A/g'`"&sbt=%BF%AA%CA%BCGO%21"            #转换输入url到最后访问时需要用到的url
wget -U "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" "$url" -O "$temf"    #取得访问页面的html代码



cat "$temf" |iconv -f gb18030 -t utf-8 | grep -q '高清版解析'
if [ $? -eq 0 ]
then
	url=`echo $url |sed 's/flag=/flag=one/' |sed 's/format=/format=high/'`
	wget -U "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" "$url" -O "$temf"
fi



cat "$temf" |iconv -f gb18030 -t utf-8 |grep -q '超清版解析'
if [ $? -eq 0 ]
then
	url=`echo $url |sed 's/format=high/format=super/'`
	wget -U "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" "$url" -O "$temf"
fi

title=`cat $temf | iconv -f gb18030 -t utf-8 |grep '(请用右键"目标另存为"或硕鼠来快速下载.)' | awk '{print $1}'`
links=`cat $temf | iconv -f gb18030 -t utf-8 | sed -n '/<input type="hidden" name="inf" value="/p' |grep -o 'http:.*' |tr \| ' ' |sed 's/".*//'`

echo $title
echo $links

i=0
for line in $links                     #把所有链接下载下来,存在/tmp目录下,下次开机自动删除
do
	templist[$i]=`tempfile`
	wget -c -U "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" `echo $line |sed 's/\r//'` -O ${templist[$i]}
	((i++))
done

j=0
cmd="mencoder -oac mp3lame -ovc copy -idx"
while [ $j -ne $i ]        #拼接所有下载的视频片段
do
	cmd=$cmd" ${templist[$j]}"
	((j++))
done
$cmd -o "$title.mp4"
上次由 langyxxl 在 2013-06-01 9:56,总共编辑 3 次。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: shell 下载网页视频+合并脚本

#2

帖子 YeLee » 2012-11-01 13:42

:em09 :em09 :em09
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: shell 下载网页视频+合并脚本

#3

帖子 枫叶饭团 » 2012-11-01 15:50

好牛的脚本,完全看不懂是在做什么
头像
qy117121
论坛版主
帖子: 50587
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: shell 下载网页视频+合并脚本

#4

帖子 qy117121 » 2012-11-01 15:52

咱不学
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: shell 下载网页视频+合并脚本

#5

帖子 YeLee » 2012-11-01 15:59

枫叶饭团 写了:好牛的脚本,完全看不懂是在做什么
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
秋景雨
帖子: 137
注册时间: 2011-01-31 12:55
联系:

Re: shell 下载网页视频+合并脚本

#6

帖子 秋景雨 » 2012-11-09 19:59

这个非常好,等下试试。
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

Re: shell 下载网页视频+合并脚本

#7

帖子 13378333 » 2012-11-12 11:45

:em02 :em02 :em02
头像
free4537
帖子: 53
注册时间: 2011-09-05 20:53

Re: shell 下载网页视频+合并脚本

#8

帖子 free4537 » 2013-05-04 4:49

这个最终会将合并后的文件放到哪? 还有, 如何选择高清版/超清版?
蒙面饿僧
帖子: 43
注册时间: 2011-07-27 23:15

Re: shell 下载网页视频+合并脚本

#9

帖子 蒙面饿僧 » 2013-08-13 23:25

flvcd.com
回复