{"id":463,"date":"2011-01-28T00:30:38","date_gmt":"2011-11-23T05:51:50","guid":{"rendered":"http:\/\/kraftek.com\/blog\/get-your-top-10-list\/"},"modified":"2011-01-28T00:30:38","modified_gmt":"2011-11-23T05:51:50","slug":"get-your-top-10-list","status":"publish","type":"post","link":"\/blog\/index.php\/get-your-top-10-list\/","title":{"rendered":"get your top 10 list !!!"},"content":{"rendered":"<p>To get this week&#8217;s top ten from the web, you can first ask billboard using topten.ksh:<br \/>\n#!\/bin\/ksh<br \/>\necho &#8220;&#8212;- getting bilboard&#8217;s heatseeker&#8221;<br \/>\ncurl<br \/>\n158\/433<br \/>\n&#8220;http:\/\/206.130.124.43\/\/htmlsite\/html_top.php?id=23&amp;CALL_URL=http%3A\/\/www.billboard.com\/bbcom\/charts\/chart_display.jsp%3Fg%3DSingles%26f%3DHot%2 BDance%2BClub%2BPlay&#8221;<br \/>\n&gt; \/tmp\/bb-hs.txt<br \/>\ncat \/tmp\/bb-hs.txt | sed -e &#8216;s\/&lt;[^&gt;][^&gt;]*&gt;\/\/g&#8217; -e &#8216;\/^ *$\/d;s\/\/ \/g;s\/Featuring\/\/g;s\/ the \/\/g&#8217; | tr -s &#8216; &#8216; | grep &#8220;|&#8221;|<br \/>\ngrep -iv billboard| cut -d &#8221; &#8221; -f4-9 &gt; terms.txt<br \/>\nThe top ten list is parsed and ends up as a text only list in &#8220;terms.txt&#8221;. We now proceed to search and<br \/>\ndownload the files both from filestube and skreemr, we use a PHP script called mysearch.php to look for files<br \/>\nin filestube(remembver to use your own key for filestube instead of XXXXXXXX):<br \/>\n#!\/usr\/bin\/php<br \/>\n&lt;?php<br \/>\n\/\/ Correct English grammar&#8230;<br \/>\n$argc &gt; 1 x y z $plural = &#8216;s&#8217; : $plural = &#8221;;<br \/>\n\/\/ Display the number of arguments received<br \/>\n\/\/fwrite(STDOUT, &#8220;Got $argc argument$pluraln&#8221;);<br \/>\n$args=&#8221;&#8221;;<br \/>\n\/\/ Write out the contents of the $argv array<br \/>\nforeach ( $argv as $key =&gt; $value ) {<br \/>\n\/\/ fwrite(STDOUT,&#8221;$key =&gt; $valuen&#8221;);<br \/>\nif($key!=0){<br \/>\nif($key&gt;1){<br \/>\n$args=&#8221;{$args}%20{$value}&#8221;;<br \/>\n}else{<br \/>\n$args=&#8221;{$value}&#8221;;<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n\/\/print &#8220;args are:&#8221;;<br \/>\n159\/433<br \/>\n\/\/print $args;<br \/>\n$url=&#8221;http:\/\/api.filestube.com\/? key=XXXXXXXXXXXXXXXXXXXXXXX&amp;phrase=$args&amp;extension=mp3&amp;page=1&#8243;;<br \/>\n$ch = curl_init();<br \/>\ncurl_setopt($ch, CURLOPT_URL,$url);<br \/>\ncurl_setopt($ch, CURLOPT_FAILONERROR, 1);<br \/>\ncurl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);<br \/>\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER,1);<br \/>\ncurl_setopt($ch, CURLOPT_TIMEOUT, 30);<br \/>\n$result = curl_exec($ch) ;<br \/>\nprint curl_error($ch);<br \/>\ncurl_close($ch);<br \/>\n$document = new DOMDocument(&#8216;1.0&#8217;, &#8216;UTF-8&#8217;);<br \/>\n$document-&gt;loadXML($result);<br \/>\n$answer = $document-&gt;getElementsByTagName(&#8216;answer&#8217;)-&gt;item(0);<br \/>\nif($answer!=null) {<br \/>\n$hasResults = $answer-&gt;getElementsByTagName(&#8216;hasResults&#8217;)-&gt;item(0);<br \/>\nif($hasResults-&gt;nodeValue == 1)<br \/>\n{<br \/>\n$hits = $answer-&gt;getElementsByTagName(&#8216;hits&#8217;);<br \/>\nforeach($hits as $hit)<br \/>\n{<br \/>\n$name = $hit-&gt;getElementsByTagName(&#8216;name&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$extension = $hit-&gt;getElementsByTagName(&#8216;extension&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$desc = $hit-&gt;getElementsByTagName(&#8216;description&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$size = $hit-&gt;getElementsByTagName(&#8216;size&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$address = $hit-&gt;getElementsByTagName(&#8216;address&#8217;)-&gt;item(0) -&gt;nodeValue;<br \/>\n$details = $hit-&gt;getElementsByTagName(&#8216;details&#8217;)-&gt;item(0) -&gt;nodeValue;<br \/>\n$added = $hit-&gt;getElementsByTagName(&#8216;added&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$related = $hit-&gt;getElementsByTagName(&#8216;related&#8217;)-&gt;item(0) -&gt;nodeValue;<br \/>\n$counter=$hit-&gt;getAttribute(&#8216;id&#8217;);<br \/>\nprint &#8220;$name | &#8220;;<br \/>\nprint &#8221; $address nr&#8221;;<br \/>\n}<br \/>\n}<br \/>\nelse {<br \/>\nprint &#8216;0 resultsnr&#8217;;<br \/>\n}<br \/>\n}<br \/>\nelse {<br \/>\n$error = $document-&gt;get ElementsByTagName(&#8216;error&#8217;)-&gt;item (0);<br \/>\nif($error!=null){<br \/>\n$message = $error-&gt;getElementsByTagName(&#8216;message&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\nprint &#8216;Message: &#8216;.$message.&#8221;nr&#8221;;<br \/>\n}<br \/>\n}<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-SECOND PAGE!!!<br \/>\n$url=&#8221;http:\/\/api.filestube.com\/? key=XXXXXXXXXXXXXXXXXXXXXXX<br \/>\n&amp;phrase=$args&amp;extension=mp3&amp;page=2&#8243;;<br \/>\n$ch = curl_init();<br \/>\n160\/433<br \/>\ncurl_setopt($ch, CURLOPT_URL,$url);<br \/>\ncurl_setopt($ch, CURLOPT_FAILONERROR, 1);<br \/>\ncurl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);<br \/>\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER,1);<br \/>\ncurl_setopt($ch, CURLOPT_TIMEOUT, 30);<br \/>\n$result = curl_exec($ch) ;<br \/>\nprint curl_error($ch);<br \/>\ncurl_close($ch);<br \/>\n$document = new DOMDocument(&#8216;1.0&#8217;, &#8216;UTF-8&#8217;);<br \/>\n$document-&gt;loadXML($result);<br \/>\n$answer = $document-&gt;getElementsByTagName(&#8216;answer&#8217;)-&gt;item(0);<br \/>\nif($answer!=null) {<br \/>\n$hasResults = $answer-&gt;getElementsByTagName(&#8216;hasResults&#8217;)-&gt;item(0);<br \/>\nif($hasResults-&gt;nodeValue == 1)<br \/>\n{<br \/>\n$hits = $answer-&gt;getElementsByTagName(&#8216;hits&#8217;);<br \/>\nforeach($hits as $hit)<br \/>\n{<br \/>\n$name = $hit-&gt;getElementsByTagName(&#8216;name&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$extension = $hit-&gt;getElementsByTagName(&#8216;extension&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$desc = $hit-&gt;getElementsByTagName(&#8216;description&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$size = $hit-&gt;getElementsByTagName(&#8216;size&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$address = $hit-&gt;getElementsByTagName(&#8216;address&#8217;)-&gt;item(0) -&gt;nodeValue;<br \/>\n$details = $hit-&gt;getElementsByTagName(&#8216;details&#8217;)-&gt;item(0) -&gt;nodeValue;<br \/>\n$added = $hit-&gt;getElementsByTagName(&#8216;added&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\n$related = $hit-&gt;getElementsByTagName(&#8216;related&#8217;)-&gt;item(0) -&gt;nodeValue;<br \/>\n$counter=$hit-&gt;getAttribute(&#8216;id&#8217;);<br \/>\nprint &#8220;$name | &#8220;;<br \/>\nprint &#8221; $address nr&#8221;;<br \/>\n}<br \/>\n}<br \/>\nelse {<br \/>\nprint &#8216;0 resultsnr&#8217;;<br \/>\n}<br \/>\n}<br \/>\nelse {<br \/>\n$error = $document-&gt;get ElementsByTagName(&#8216;error&#8217;)-&gt;item (0);<br \/>\nif($error!=null){<br \/>\n$message = $error-&gt;getElementsByTagName(&#8216;message&#8217;)-&gt;item(0)-&gt;nodeValue;<br \/>\nprint &#8216;Message: &#8216;.$message.&#8221;nr&#8221;;<br \/>\n}<br \/>\n}<br \/>\n?&gt;<br \/>\nThen we direct all the show with get.ksh:<br \/>\n#!\/bin\/ksh<br \/>\n#### Get the files from FilesTube<br \/>\n(cat terms.txt| while read line;do<br \/>\n.\/mysearch.php `echo $line | awk &#8216;{ print $1 &#8221; &#8221; $2 }&#8217;`| grep -i `echo $line | awk &#8216;{ print $3 }&#8217;` | head -1<br \/>\ndone) &gt;\/tmp\/results.txt<br \/>\n(cat \/tmp\/results.txt | while read result;do<br \/>\ncurl &#8220;`echo $result | awk -F&#8217;|&#8217; &#8216;{ print $2 }&#8217;| sed &#8216;s\/ \/\/g&#8217;`&#8221; | egrep &#8216;src.*mp3&#8217; | awk -F&#8221;src=&#8221;&#8221; &#8216;{ print $2 }&#8217; | awk &#8216;{<br \/>\n161\/433<br \/>\nprint $1 }&#8217; | sed &#8216;s\/&#8221;\/\/g&#8217;<br \/>\ndone) | while read url;do<br \/>\nwget -P \/200gb\/AUTODOWNLOADS &#8220;$url&#8221;<br \/>\ndone<br \/>\nrm \/tmp\/results. txt<br \/>\n#### Or get them from skreemr<br \/>\n(cat terms.txt| while read line;do<br \/>\nst=`echo $line | awk &#8216;{ print $1 &#8220;+&#8221; $2 &#8220;+&#8221; $3 }&#8217;`<br \/>\nwget -P \/200gb\/AUTODOWNLOADS `curl &#8220;http:\/\/skreemr. com\/results.jsp? q=$st&#8221; | egrep &#8216;href.*mp3&#8217; | awk<br \/>\n-F&#8221;href=&#8221; &#8216;{ print $2 }&#8217; | head -1 | sed &#8216;s\/&#8221;\/\/g&#8217;`<br \/>\ndone)<br \/>\nThe order of execution is: first &#8220;topten.ksh&#8221;, to get the list, then &#8220;get.ksh&#8221; to get the tracks.<br \/>\nEnjoy<br \/>\n162\/433<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To get this week&#8217;s top ten from the web, you can first ask billboard using topten.ksh: #!\/bin\/ksh echo &#8220;&#8212;- getting bilboard&#8217;s heatseeker&#8221; curl 158\/433 &#8220;http:\/\/206.130.124.43\/\/htmlsite\/html_top.php?id=23&amp;CALL_URL=http%3A\/\/www.billboard.com\/bbcom\/charts\/chart_display.jsp%3Fg%3DSingles%26f%3DHot%2 BDance%2BClub%2BPlay&#8221; &gt; \/tmp\/bb-hs.txt cat \/tmp\/bb-hs.txt | sed -e &#8216;s\/&lt;[^&gt;][^&gt;]*&gt;\/\/g&#8217; -e &#8216;\/^ *$\/d;s\/\/ \/g;s\/Featuring\/\/g;s\/ the \/\/g&#8217; | tr -s &#8216; &#8216; | grep &#8220;|&#8221;| grep -iv billboard| cut -d &#8221; &#8221; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-463","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=463"}],"version-history":[{"count":0,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/463\/revisions"}],"wp:attachment":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=463"},{"taxonomy":"post_tag","embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}