Skip to content

Instantly share code, notes, and snippets.

@joshseyda
Last active February 13, 2020 22:12
Show Gist options
  • Save joshseyda/d7d8e0f9b23d63ab5c520b6882894224 to your computer and use it in GitHub Desktop.
Save joshseyda/d7d8e0f9b23d63ab5c520b6882894224 to your computer and use it in GitHub Desktop.
herd interview sample
// implementation with urls pulled from a script ran in the browser
const fetch = require("node-fetch");
const fs = require("fs");
const downloadMp3 = async (url, file) => {
const res = await fetch(url, {
// headers pulled from network requests in browser
credentials: "include",
headers: {
accept:
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"accept-language": "en-US,en;q=0.9",
"upgrade-insecure-requests": "1",
"User-Agent":
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36",
"Upgrade-Insecure-Requests": 1,
DNT: 1,
Referer: "http://directmusicservice.com/browse",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.9",
Cookie:
"rfmgc_2eb722687712c4d38e3e0467288184e6_person=b226b8c4-6e48-42d3-9c48-395efd52d5ab; skip_splash=true; _fbp=fb.1.1581007287557.594172494; __auc=ed398dd91701b60dc63601f1e4f; _ga=GA1.2.2109955219.1581007298; __asc=c1448df017025813a4b5493ab74; _gid=GA1.2.1101861983.1581177191; symfony=7d697653cc55c6a9cab6cd5254965c7d; _drip_client_7756498=vid%253D130d7687f10b42eea608aa1223f847f5%2526pageViews%253D32%2526sessionPageCount%253D5%2526lastVisitedAt%253D1581177252675%2526weeklySessionCount%253D2%2526lastSessionAt%253D1581177192581; _gat=1"
},
referrer: "http://directmusicservice.com/browse",
referrerPolicy: "no-referrer-when-downgrade",
body: null,
method: "GET",
mode: "cors"
});
const buff = await res.buffer();
fs.writeFileSync(file, buff);
};
// pulled from a dom query in browser
let arr = [
"http://directmusicservice.com/download/65945.mp3",
"http://directmusicservice.com/download/65944.mp3",
"http://directmusicservice.com/download/65943.mp3",
"http://directmusicservice.com/download/65942.mp3",
"http://directmusicservice.com/download/65941.mp3",
"http://directmusicservice.com/download/65940.mp3",
"http://directmusicservice.com/download/65939.mp3",
"http://directmusicservice.com/download/65938.mp3",
"http://directmusicservice.com/download/65937.mp3",
"http://directmusicservice.com/download/65936.mp3",
"http://directmusicservice.com/download/65935.mp3",
"http://directmusicservice.com/download/65934.mp3",
"http://directmusicservice.com/download/65933.mp3",
"http://directmusicservice.com/download/65932.mp3",
"http://directmusicservice.com/download/65931.mp3",
"http://directmusicservice.com/download/65930.mp3",
"http://directmusicservice.com/download/65929.mp3",
"http://directmusicservice.com/download/65928.mp3",
"http://directmusicservice.com/download/65927.mp3",
"http://directmusicservice.com/download/65926.mp3",
"http://directmusicservice.com/download/65925.mp3",
"http://directmusicservice.com/download/65924.mp3",
"http://directmusicservice.com/download/65923.mp3",
"http://directmusicservice.com/download/65922.mp3",
"http://directmusicservice.com/download/65921.mp3",
"http://directmusicservice.com/download/65920.mp3",
"http://directmusicservice.com/download/65919.mp3",
"http://directmusicservice.com/download/65918.mp3",
"http://directmusicservice.com/download/65917.mp3",
"http://directmusicservice.com/download/65916.mp3",
"http://directmusicservice.com/download/65915.mp3",
"http://directmusicservice.com/download/65914.mp3",
"http://directmusicservice.com/download/65913.mp3",
"http://directmusicservice.com/download/65912.mp3",
"http://directmusicservice.com/download/65911.mp3",
"http://directmusicservice.com/download/65910.mp3",
"http://directmusicservice.com/download/65909.mp3",
"http://directmusicservice.com/download/65908.mp3",
"http://directmusicservice.com/download/65907.mp3",
"http://directmusicservice.com/download/65906.mp3",
"http://directmusicservice.com/download/65905.mp3",
"http://directmusicservice.com/download/65904.mp3",
"http://directmusicservice.com/download/65903.mp3",
"http://directmusicservice.com/download/65902.mp3",
"http://directmusicservice.com/download/65901.mp3",
"http://directmusicservice.com/download/65900.mp3",
"http://directmusicservice.com/download/65899.mp3",
"http://directmusicservice.com/download/65898.mp3",
"http://directmusicservice.com/download/65897.mp3",
"http://directmusicservice.com/download/65896.mp3",
"http://directmusicservice.com/download/65895.mp3",
"http://directmusicservice.com/download/65894.mp3",
"http://directmusicservice.com/download/65893.mp3",
"http://directmusicservice.com/download/65892.mp3",
"http://directmusicservice.com/download/65891.mp3",
"http://directmusicservice.com/download/65890.mp3",
"http://directmusicservice.com/download/65889.mp3",
"http://directmusicservice.com/download/65888.mp3",
"http://directmusicservice.com/download/65887.mp3",
"http://directmusicservice.com/download/65886.mp3",
"http://directmusicservice.com/download/65885.mp3",
"http://directmusicservice.com/download/65884.mp3",
"http://directmusicservice.com/download/65883.mp3",
"http://directmusicservice.com/download/65882.mp3",
"http://directmusicservice.com/download/65881.mp3",
"http://directmusicservice.com/download/65880.mp3",
"http://directmusicservice.com/download/65879.mp3",
"http://directmusicservice.com/download/65878.mp3",
"http://directmusicservice.com/download/65877.mp3",
"http://directmusicservice.com/download/65876.mp3",
"http://directmusicservice.com/download/65875.mp3",
"http://directmusicservice.com/download/65874.mp3",
"http://directmusicservice.com/download/65873.mp3",
"http://directmusicservice.com/download/65872.mp3",
"http://directmusicservice.com/download/65871.mp3",
"http://directmusicservice.com/download/65870.mp3",
"http://directmusicservice.com/download/65869.mp3",
"http://directmusicservice.com/download/65868.mp3",
"http://directmusicservice.com/download/65867.mp3",
"http://directmusicservice.com/download/65866.mp3",
"http://directmusicservice.com/download/65865.mp3",
"http://directmusicservice.com/download/65864.mp3",
"http://directmusicservice.com/download/65863.mp3",
"http://directmusicservice.com/download/65862.mp3",
"http://directmusicservice.com/download/65861.mp3",
"http://directmusicservice.com/download/65860.mp3",
"http://directmusicservice.com/download/65859.mp3",
"http://directmusicservice.com/download/65858.mp3",
"http://directmusicservice.com/download/65857.mp3",
"http://directmusicservice.com/download/65856.mp3",
"http://directmusicservice.com/download/65855.mp3",
"http://directmusicservice.com/download/65854.mp3",
"http://directmusicservice.com/download/65853.mp3",
"http://directmusicservice.com/download/65852.mp3",
"http://directmusicservice.com/download/65851.mp3",
"http://directmusicservice.com/download/65850.mp3",
"http://directmusicservice.com/download/65849.mp3",
"http://directmusicservice.com/download/65848.mp3",
"http://directmusicservice.com/download/65847.mp3",
"http://directmusicservice.com/download/65846.mp3"
];
// going to go back and grab the proper title and artist info, but as proof of concept..
for (let i = 0; i < arr.length; i++) {
downloadMp3(arr[i], arr[i]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment