NBA官网视频下载地址

先将就用一下,页面美观神马的,过两天再说了。。。
主要是看到HoopChina的这个帖子 http://bbs.hoopchina.com/3232972.html
然后觉得用WEB的形式实现的话会更好,于是写了几行脚本,脚本贴在下面一点
请注意美国时间比北京时间慢了15-16个小时(我设置的自动抓取时间是下午3点左右),所以下面的时间有时候选择需要前一天的才对
PS:还是有些不对,抓取到的URL里,那个时间有时候会提前或延后,下载的时候需要注意一下,因为文本改改简单,就不更新脚本了

脚本代码,直接是shell(BSD的不行⋯⋯),然后往服务器里加个cron任务,每天跑一次就行
带宽好的朋友可以直接把其中放数据库的语句改改,然后就自动下载了

#!/bin/bash
mp4=1280x720.mp4
flv=576x324.flv

rm gt_other.xml
wget http://data.nba.com/data/5s/xml/homepage/noseason/gt_other.xml
sed -e 's/"/\n/g' gt_other.xml | grep http | grep video | sed -e 's/www.nba.com\/video/nba.cdn.turner.com\/nba\/big/' | sed -e "s/\/index.html/_nba_$mp4/" | sed -e "s/play[0-9]/recap/" > links.txt
#df=$(tail -n1 links.txt | perl -nle 'print "$1/$2$3$4" if /((\d{4})\/(\d{2})\/(\d{2}))/')  # sometime this might wrong....
df=$(date --date "1 day ago" +%Y/%m/%d/%Y%m%d)
echo "http://nba.cdn.turner.com/nba/big/channels/top_plays/$(echo $df)_zap.nba_nba_$mp4" >> links.txt
echo "http://nba.cdn.turner.com/nba/big/channels/top_plays/$(echo $df)_top10.nba_nba_$mp4" >> links.txt
#dt=$(tail -n1 links.txt | perl -nle 'print "$2-$3-$4" if /((\d{4})\/(\d{2})\/(\d{2}))/')
dt=$(date --date "1 day ago" +%Y-%m-%d)
for url in $(cat links.txt); do
  mysql -uuser dbname -e "insert ignore into nba_links(ts, fmt, url) values('$dt', 'MP4', '$url')"
  # change to [wget $url] then download the mp4 file directly.
done
sed -i "s/$mp4/$flv/" links.txt
for url in $(cat links.txt); do
  mysql -uuser dbname -e "insert ignore into nba_links(ts, fmt, url) values('$dt', 'FLV', '$url')"
done

anyShare分享到:
          
  • You may use these HTML tags: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <pre> <q> <strike> <strong>

Go to Top