手机自动下载当天voa听力

编程技术  /  houtizong 发布于 3年前   71
有这么个需求,由于上班较长时间,我希望利用这段时间做做听力什么的。那么为了下载听力材料,我需要每天去http://www.51voa.com/下载当天的更新。这是个重复的工作,完全可以利用手机或者电脑自动化。

解决方案简述如下:iphone4上写个脚本,去wget当天的更新;然后配上cron的定时任务便可以了。但谷歌了很久,都没找到iphone4的cron,或者说是休眠就会失效,所以即便能自动下载,但还需要人工去启动,这自然达不到自动化的效果。
所以新的解决方案如下:由于笔记本cygwin能启动cron,所以让笔记本每晚9点去下载,完了再scp到iphone4上去。这里有个假设:我每晚9点都会在家并开启wifi,笔记本开着,手机开着wifi和sshd。像我这样的宅男,这基本是个定律,没什么意外的话;而手机基本24小时开着wifi连接,只要路由开了自动会连上,而sshd服务可以在cydia上轻易安装启动。再在路由上绑定iphone4的mac地址,好让笔记本的在下载完后,scp能根据预设的IP连到iphone4上去。

脚本思路:下载voa首页,根据当天日期找出当天的voa更新,得到一个url list,然后for循环,逐个wget, 在得到的新页面内容,寻找mp3结尾的url,和lrc结尾的url,再进行wget.最后完成了scp到iphone4上去。

如下是脚本:
cd /home/chembo/voa/`wget -O voa.html http://www.51voa.com/`today=`date +%m-%d|sed 's/^0\+//'|sed 's/-0/-/'`mkdir $todaycd $todaydomain="http://www.51voa.com"urlList=`sed 's/"/\n/g' /home/chembo/voa/voa.html | grep -C 4 $today |grep "\(VOA_Special_English\)\|\(VOA_Standard_English/\)\|\(Voa_English_Learning\)/.*html"`echo $urlListfor i in $urlListdo `wget -O temp.html ${domain}${i}`mp3=`sed 's/"/\n/g' /home/chembo/voa/temp.html | grep "/path.asp?url"`echo "------------------$mp3"if [ -n "$mp3" ]; thenecho $mp3`wget $domain$mp3`filrc=`sed 's/\("\|><\|href=\)/\n/g' /home/chembo/voa/temp.html| grep \.lrc|awk '{print $1}'|sed 's/img//g'`echo "------------------$lrc"if [ -n "$lrc" ]; thenecho $lrc`wget $domain$lrc -P /home/chembo/voa/`fidonescp -r ../$today  root@ip4:/var/mobile/voa/ 


定时任务: crontab -e
58 21 * * * /home/voa/getvoa.sh




请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客