Advertisement
Guest User

Untitled

a guest
May 24th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. fs      = require 'fs'
  2. cheerio = require 'cheerio'
  3. request = require 'request'
  4. slug    = require 'slug'
  5.  
  6. getPage = (url) ->
  7.     new Promise (res, rej) ->
  8.         request url, (response, body, err) =>
  9.             res err
  10.  
  11. downloadFile = (uri, filename, cb) ->
  12.     request('https://www.thingiverse.com/'+uri).pipe(fs.createWriteStream('./models/'+filename)).on('close', cb)
  13.  
  14. getLinks = ->
  15.     list = fs.readFileSync './list.txt', 'utf8'
  16.     links = list.split '\r\n'
  17.  
  18.     for link in links
  19.         if link.length > 0
  20.             getPage(link).then (body) ->
  21.                 $     = cheerio.load body
  22.                 url   = $('.thing-download-btn').attr('href')
  23.                 title = slug($('.thing-header-data h1').text())
  24.                 downloadFile url, title, =>
  25.                     console.log title
  26.             .catch (err) ->
  27.                 console.log err
  28.  
  29. getLinks()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement