-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscrap.js
More file actions
62 lines (48 loc) · 1.81 KB
/
Copy pathscrap.js
File metadata and controls
62 lines (48 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var express = require('express');
var fs = require('fs');
var request = require('request');
var json2csv = require('json2csv');
var cheerio = require('cheerio');
var app = express();
app.get('/scrape', function(req, res){
url = "http://www.justdial.com/Bangalore/Caterers-For-Veg-Cuisine-%3Cnear%3E-Veerabhadra-Nagar/ct-586379";
//url = 'http://www.justdial.com/Bangalore/Transporters/ct-1076';
request(url, function(error, response, html){
// First we'll check to make sure no errors occurred when making the request
if(!error){
var $ = cheerio.load(html);
var fields = ['Name', 'Number_and_Address'];//, 'Address'];
var Name, Number_and_Address,real,arti;
//var json = { Name : "", Number : "", Address :""}:
var json = { Name : "", Number_and_Address : ""};
$('.compdt').filter(function(){
var data = $(this);
Name = data.children().text();
real = Name.replace(/(\r\n|\r|\t|\n)/gm,'');
arti = real.split("+");
//Number = data.children().next().text();
//Address = data.children().text();
json.Name = arti[0];
json.Number_and_Address= arti[1];
//json.Address = arti[0];
json2csv({ data: json, fields: fields }, function(err, csv) {
if (err) console.log(err);
fs.appendFile('file.csv', csv, function(err) {
if (err) throw err;
console.log('file saved');
});
console.log(real);
console.log("---------------------Done-----------------------------");
});
var stream = fs.createWriteStream("my_file.txt");
stream.on('open', function(fd) {
stream.write(real);
stream.end();
});
})
}
res.send('The file is being written');
});
})
app.listen('8080')
exports = module.exports = app;