Advertisement
Guest User

Untitled

a guest
May 9th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Script for downloading all of the music off of coda's blog
  3.  * at: https://coda.s3m.us/category/ohc/page/137/
  4.  */
  5.  
  6. var request = require("request");
  7.  
  8. function getPage(page, cb) {
  9.     var postData = {
  10.       action: "infinite_scroll",
  11.       page: page,
  12.       currentday: "07.08.06",
  13.       order: "DESC",
  14.       "query_args[paged]": 2,
  15.       "query_args[category_name]": "ohc",
  16.       "query_args[cat]": 10229527,
  17.       "query_args[nopaging]": false,
  18.       "query_args[no_found_rows]": false,
  19.       "query_args[comments_per_page]": 0,
  20.       "query_args[order]": "DESC"
  21.     };
  22.  
  23.     var options = {
  24.         url: 'https://coda.s3m.us/?infinity=scrolling',
  25.         method: 'POST',
  26.         // auth: {
  27.         //   user: 'admin',
  28.         //   pass: 'password',
  29.         // },
  30.         form: postData
  31.     };
  32.     var r = request(options, function(err, res, body) {
  33.        if (err) {
  34.           console.dir(err)
  35.           return
  36.        }
  37.        // console.dir('status code', res.statusCode)
  38.        // console.log(JSON.parse(body).postflair);
  39.  
  40.        cb(JSON.parse(body));
  41.        // https://codatrigger.files.wordpress.com/2015/08/eggshoes.mp3
  42.     });
  43. }
  44.  
  45. function tick(page, data) {
  46.     console.log("Requesting page " + page + "....");
  47.     getPage(page, function(body) {
  48.         for (var url in body.postflair) {
  49.             data.push(
  50.               (url + "")
  51.               .replace(/coda\.s3m\.us/gi, "codatrigger.files.wordpress.com") // convert domain
  52.               .replace(/([0-9]{4}\/[0-9]{2}\/)([0-9]{2}\/)/, "\$1") // remove day from URL
  53.               .replace(/\/$/,"") // remove trailing /
  54.               + ".mp3"); // add mp3
  55.         }
  56.         if (page > 0) {
  57.             tick(page-1, data);
  58.         }
  59.         else {
  60.             console.log("Data: ");
  61.             console.log(data);
  62.  
  63.             console.log("dumping URLs to file...");
  64.             var fs = require('fs');
  65.             var stream = fs.createWriteStream("all_urls.txt");
  66.             stream.once("open", function(fd) {
  67.                 for (var i = 0; i < data.length; i++) {
  68.                     stream.write(data[i] + "\n");
  69.                 }
  70.                 stream.end();
  71.             });
  72.             console.log("truly done.");
  73.         }
  74.     });
  75. }
  76.  
  77. tick(136, []);
  78.  
  79. console.log("done.");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement