Advertisement
Zorge_R

podcast.grabber.3.0

May 27th, 2011
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.11 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # prod.ru podcast grabber.
  4. # Zorge.R - 2010
  5.  
  6.  
  7. grpath=${0%/*}
  8.  
  9. #podcastname="nauka2-0"
  10.  
  11. podcastname=`zenity --entry \
  12.         --title="Выбор подкаста" \
  13.         --text="Введите название подкаста:" \
  14.         --entry-text "nauka2-0" \\`
  15.  
  16. #podcastid="0"
  17. #trackid="0"
  18.  
  19. mkdir $grpath/tmp
  20.  
  21.  
  22. # качаем главную страницу подкаста
  23. wget -O $grpath/tmp/main.page http://$podcastname.rpod.ru/
  24.  
  25.  
  26. # вытаскиваем из нее список публикаций
  27. grep '^    <a class="rpad" amber="post:' "$grpath/tmp/main.page" | sed 's/<a class\=\"rpad\" amber\=\"post\://' | sed 's/^[ \t]*//' | awk -F\" '{print $1}' > $grpath/tmp/podcast.list
  28.  
  29. # вытаскиваем из нее названия публикаций
  30. grep '^    <a class="rpad" amber="post:' "$grpath/tmp/main.page" | sed 's/<a class\=\"rpad\" amber\=\"post\://' | sed 's/^[ \t]*//' | awk -F\> '{print $2}' | awk -F\< '{print $1}' | sed 's/\"\;//g' > $grpath/tmp/podcast.name
  31.  
  32. ####################
  33. # Выбор публикации #
  34. ####################
  35.  
  36. # определяем количество публикаций
  37. podcastnum=`sed -n '$=' $grpath/tmp/podcast.list`
  38.  
  39. # генерируем окно выбора публикации
  40. num="1"
  41. rm $grpath/tmp/public.list
  42. echo -ne 'zenity --list \
  43.          --title="Публикации подкаста $podcastname" \
  44.          --text="Выберите публикаци:" \
  45.          --column="ID публикации:" --column="Название:" \' > $grpath/tmp/public.list
  46.  
  47. while [ $num -le $podcastnum ]
  48. do
  49. # определяем ID текущей публикации
  50. podcastid=`sed -n "$num"p"" $grpath/tmp/podcast.list`
  51. # определяем название публикации
  52. podcasttitle=`sed -n "$num"p"" $grpath/tmp/podcast.name`
  53.  
  54. echo -ne "
  55.          $podcastid "'"'$podcasttitle'"'" \\" >> $grpath/tmp/public.list
  56. let num=$num+1
  57. done
  58.  
  59. # Выводим список на экран
  60. #chmod 777 $grpath/tmp/public.list
  61. podcastid=`. $grpath/tmp/public.list`
  62.  
  63. #pubnum="1p"
  64. #podcastid=`sed -n "$pubnum" $grpath/tmp/podcast.list`
  65.  
  66. # качаем страницу публикации
  67. wget -O $grpath/tmp/podcast.page http://rpod.ru/$podcastid/
  68.  
  69.  
  70. # вытаскиваем из нее список записей
  71. grep '^         <a title="Скачать" href="' "$grpath/tmp/podcast.page" | sed 's/<a title\=\"Скачать\" href\=\"//' | sed 's/^[ \t]*//' | sed "s/http:\/\/rpod.ru\/get\/$podcastid\///" | awk -F\\/download\/ '{print $1}' > $grpath/tmp/track.list
  72.  
  73.  
  74. ################
  75. # Выбор записи #
  76. ################
  77. # определяем количество записей
  78. tracknum=`sed -n '$=' $grpath/tmp/track.list`
  79.  
  80. # генерируем окно выбора записи
  81. num=1
  82. rm $grpath/tmp/track.show
  83. echo -ne 'zenity --list \
  84.           --title="Записи в публикации $podcastname" \
  85.           --text="Выберите запись:" \
  86.           --column="ID записи:" --column="Размер:" \' > $grpath/tmp/track.show
  87.  
  88. while [ $num -le $tracknum ]
  89. do
  90.  
  91. # определяем ID текущей записи
  92. trackid=`sed -n "$num"p"" $grpath/tmp/track.list`
  93. # определяем размер записи
  94. #podcasttitle=`sed -n "$num"p"" $grpath/tmp/podcast.name`
  95.  
  96. echo -ne "
  97.          $trackid "'"'_undev$podcasttitle'"'" \\" >> $grpath/tmp/track.show
  98. let num=$num+1
  99. done
  100.  
  101. # Выводим список на экран
  102. trackid=`. $grpath/tmp/track.show`
  103.  
  104.  
  105. #trcknum="1p"
  106. #trackid=`sed -n "$trcknum" $grpath/tmp/track.list`
  107.  
  108.  
  109. # биндим URL
  110. trackURL="http://rpod.ru/get/$podcastid/$trackid/download/"
  111.  
  112.  
  113. # открываем в плеере
  114.  
  115. #vlc $trackURL&
  116.  
  117.  
  118. playername=`zenity --entry \
  119.        --title="Выбор плеера" \
  120.        --text="Введите название плеера (vlc, mlayer, ...):" \
  121.        --entry-text "vlc" \\`
  122.  
  123. $playername $trackURL&
  124.  
  125. # код вставки в html
  126. #
  127. #<object width="500" height="40" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://s.rpod.ru/swf/playa.swf?xmlURL=http%3A%2F%2Fs.rpod.ru%2Fxml%2Faudio%2Fa$trackid.xml"></param><param name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://s.rpod.ru/swf/playa.swf?xmlURL=http%3A%2F%2Fs.rpod.ru%2Fxml%2Faudio%2Fa120417.xml" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="40"></embed></object>
  128. #
  129. # или
  130. #<object width="500" height="40" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://s.rpod.ru/swf/playa.swf?xmlURL=http://s.rpod.ru/xml/audio/a$trackid.xml"></param><param name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://s.rpod.ru/swf/playa.swf?xmlURL=http://s.rpod.ru/xml/audio/a$trackid.xml" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="40"></embed></object>
  131. #
  132.  
  133.  
  134. # удаляем мусор
  135. rm -r $grpath/tmp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement