Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Framework usado: https://www.npmjs.com/package/crawler#get-started
- // Rondar o comando: npm install crawler
- // Rodar o comando: node nome-do-arquivo.js
- var Crawler = require("crawler");
- var fs = require('fs');
- var request = require('request');
- var pasta_principal = 'imagens_baixadas/';
- // Cria a pasta se não existir
- if (!fs.existsSync(pasta_principal)) {
- fs.mkdirSync(pasta_principal);
- }
- var c = new Crawler({
- maxConnections: 10,
- // Essa função sera chamada para o consumo da página
- callback: function (error, res, done) {
- if (error) {
- console.log(error);
- } else {
- var site_origin = res.socket.servername;
- var caminho_para_arquivos = pasta_principal + site_origin + '/';
- var $ = res.$;
- // Cria a pasta se não existir
- if (!fs.existsSync(caminho_para_arquivos)) {
- fs.mkdirSync(caminho_para_arquivos);
- }
- // O $ é o seletor padrão
- // Use o seletor $ para consultar (campturar) os itens da página.
- $('img').each(function (k, img) {
- var url_imagem = img.attribs.src;
- var nome_arquivo = String(img.attribs.alt || img.attribs.title || url_imagem).replace(/[\W\s]/g, '-');
- request.get({ url: url_imagem, encoding: 'binary' }, function (err, response, body) {
- var tipo_imagem = response.headers['content-type'].split('/')[1] || 'jpg';
- var nome_arquivo_disco = nome_arquivo + '.' + tipo_imagem;
- var caminho_arquivo = caminho_para_arquivos + nome_arquivo_disco;
- fs.writeFile(caminho_arquivo, body, 'binary', function (err) {
- if (err) {
- console.log(err);
- } else {
- console.log(' ');
- console.log("Arquivo salvo com sucesso!");
- console.log("Local: " + caminho_arquivo);
- console.log(' ');
- }
- });
- });
- });
- }
- done();
- }
- });
- // Url para consulta
- //c.queue('https://g1.globo.com/globonews/conta-corrente/');
- c.queue('https://noticias.uol.com.br/');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement