Subscribe to 145+ Academic Podcasts
I created a bookmarklet called ‘Get Podcasts‘ (drag & drop to your bookmarks toolbar). You can only use it at Productive Strategies’ “Free Academic Podcasts” post. It will popup an OPML file with all the feeds in it… so you can easily subscribe to all of them…
When this pops up, you copy and paste the content into a text file and save it as an opml file (filename.opml). Here is my resulting OPML file: free_academic_podcasts.opml. You can then add the file to your favorite agregator, like Google Reader.
The generated OPML separates the podcasts by the university of origin. So far, the podcasts come from universities like Purdue University, Southwest Tech, Berkeley, College of St. Scholastica, John Hopkins University, UCLA, Western Kentucky University, College of DuPage, NC State University, City University of New York and Ohio State University.
Also, here is the bookmarklet source, in case anyone is interested.
OPML PopUp to ease Podcast Aggregation
Posted by rolandog on November 13th, 2006
This is a website specific script... pops up the source of an OPML file with 145+ podcasts.
http://www.productivity501.com/2006/11/free_academic_p.html
Note: The 'bookmarklet' format is included as a comment at the bottom... (write in a webpage an anchor element with the escaped javascript format in the href attribute).
-
/* 'Get Podcasts'
-
* if isOPML is false, it pops up an escaped version in HTML.
-
* if isOPML is true, it pops up an OPML version.
-
* Either way, you need to copy and save the results as a file with an .opml extension
-
* You can then add it to your Aggregator of choice:
-
*/
-
-
var isOPML=false;
-
var entry=document.getElementById('entry-14040355');
-
var ul=entry.getElementsByTagName('ul')[1];
-
var links=ul.getElementsByTagName('a');
-
var smalls=entry.getElementsByTagName('small');
-
var names=[];var cond=false;var text=url=title="";
-
for(var i=0;i<smalls.length;++i){
-
cond=false;text=smalls[i].childNodes[0].nodeValue;
-
for(var j=0;j<names.length;++j){
-
if(text==names[j]){
-
cond=true;
-
}
-
}
-
if(!cond){
-
names.push(text);
-
}
-
}
-
//So far, names=["Purdue University","Southwest Tech","Berkeley","College of St. Scholastica","John Hopkins University","UCLA","Western Kentucky University","College of DuPage","NC State University","City University of New York","Ohio State University"];
-
function filter(name){
-
var t=output="";
-
for(var k=0;k<links.length;++k){
-
t=smalls[k].childNodes[0].nodeValue;
-
if(t==name){
-
url=links[k].href;
-
title=links[k].childNodes[0].nodeValue;
-
output=output+' <outline text="'+title+'" title="'+title+'" type="rss" xmlUrl="'+url+'" htmlUrl="'+url+'"/>'+"\n";
-
}
-
}
-
return output;
-
}
-
var header='<opml version="1.0">'+"\n"+' <head>'+"\n"+' <title>Free Academic Podcasts</title>'+"\n"+' </head>'+"\n"+' <body>'+"\n";
-
var body='';
-
names.sort();
-
var p='Choose from which university you would like to get the podcasts from:\n 0. All';
-
for(var l=0;l<names.length;++l){
-
p=p+'\n '+(l+1)+'. '+names[l];
-
}
-
var reply=prompt(p,"");
-
var choice=parseInt(reply)-1;
-
if(choice<0||choice>names.length-1||isNaN(choice)){
-
for(var l=0;l<names.length;++l){
-
body=body+' <outline title="'+names[l]+'" text="'+names[l]+'">'+"\n"+filter(names[l])+' </outline>'+"\n";
-
}
-
}else{
-
body=' <outline title="'+names[choice]+'" text="'+names[choice]+'">'+"\n"+filter(names[choice])+' </outline>'+"\n";
-
}
-
body=body.replace(/="\s/g,'="');
-
body=body.replace(/&/g,'&');
-
var footer=' </body>'+"\n"+'</opml>';
-
var htmlHeader='<html><head><title>Free Academic Podcasts</title></head><body>';
-
var htmlFooter='</body></html>';
-
var opml=(isOPML)?header+body+footer:htmlHeader+(((((header+body+footer).replace(/&/g,'&')).replace(/>/g,'>')).replace(/</g,'<')).replace(/\n/g,'<br>\n'))+htmlFooter;
-
function popOPML(code){
-
var gOPML=window.open('','Free Academic Podcasts','top=300,left=200,height=480,width=640');
-
var tmp=gOPML.document;
-
tmp.open();
-
tmp.write(code);
-
tmp.close();
-
}
-
popOPML(opml);
-
/*Resulting Bookmarklet:*/
-
/*javascript:(function(){var%20isOPML=false;var%20entry=document.getElementById('entry-14040355');var%20ul=entry.getElementsByTagName('ul')[1];var%20links=ul.getElementsByTagName('a');var%20smalls=entry.getElementsByTagName('small');var%20names=[];var%20cond=false;var%20text=url=title='';for(var%20i=0;i<smalls.length;++i){cond=false;text=smalls[i].childNodes[0].nodeValue;for(var%20j=0;j<names.length;++j){if(text==names[j]){cond=true}}if(!cond){names.push(text)}}function%20filter(name){var%20t=output='';for(var%20k=0;k<links.length;++k){t=smalls[k].childNodes[0].nodeValue;if(t==name){url=links[k].href;title=links[k].childNodes[0].nodeValue;output=output+' <outline%20text=%22'+title+'%22%20title=%22'+title+'%22%20type=%22rss%22%20xmlUrl=%22'+url+'%22%20htmlUrl=%22'+url+'%22/>'+%22\n%22}}return%20output}var%20header='<opml%20version=%221.0%22>'+%22\n%22+' <head>'+%22\n%22+' <title>Free%20Academic%20Podcasts</title>'+%22\n%22+' </head>'+%22\n%22+' <body>'+%22\n%22;var%20body='';names.sort();var%20p='Choose%20from%20which%20university%20you%20would%20like%20to%20get%20the%20podcasts%20from:\n%200.%20All';for(var%20l=0;l<names.length;++l){p=p+'\n%20'+(l+1)+'.%20'+names[l];}var%20reply=prompt(p,%22%22);var%20choice=parseInt(reply)-1;if(choice<0||choice>names.length-1||isNaN(choice)){for(var%20l=0;l<names.length;++l){body=body+' <outline%20title=%22'+names[l]+'%22%20text=%22'+names[l]+'%22>'+%22\n%22+filter(names[l])+' </outline>'+%22\n%22;}}else{body=' <outline%20title=%22'+names[choice]+'%22%20text=%22'+names[choice]+'%22>'+%22\n%22+filter(names[choice])+' </outline>'+%22\n%22;}var%20tx='='+'%22';body=body.replace(/=%22\s/g,tx);body=body.replace(/&/g,'&amp;');var%20footer=' </body>'+%22\n%22+'</opml>';var%20htmlHeader='<html><head><title>Free%20Academic%20Podcasts</title></head><body>';var%20htmlFooter='</body></html>';var%20opml=(isOPML)?header+body+footer:htmlHeader+(((((header+body+footer).replace(/&/g,'&amp;')).replace(/>/g,'&gt;')).replace(/</g,'&lt;')).replace(/\n/g,'<br>\n'))+htmlFooter;function%20popOPML(code){var%20gOPML=window.open('','Free%20Academic%20Podcasts','top=300,left=200,height=480,width=640');var%20tmp=gOPML.document;tmp.open();tmp.write(code);tmp.close()}popOPML(opml);})()*/
oso wrote:
It’s like a university in your pocket. Clever idea.
Posted on 20-Nov-06 at 1:22 pm | Permalink
rolandog wrote:
Thanks Oso, you actually gave me an idea that… so I implemented it: I modified it so that the user could choose to filter out the podcasts by University; you can still, however, get all the podcasts.
Posted on 21-Nov-06 at 9:38 pm | Permalink