Last active
December 29, 2016 04:17
-
-
Save parwatcodes/ca486b38343987d742b9c3bc98af375a to your computer and use it in GitHub Desktop.
casper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var casper = require('casper').create(); | |
var fs = require('fs'); | |
casper.on('remote.message', function (msg) { | |
console.log('Casper Console Listener: ' + msg); | |
}); | |
casper.start('http://www.google.com/', function () { | |
this.fill('form', { q: 'hello world' }, true); // this keyword is referring to casper object | |
}); | |
var alldata; | |
casper.wait(1000, function () { | |
var data = this.evaluate(function () { | |
var nodeList = document.querySelectorAll('.g h3 a'); | |
var nodeArray = [].slice.call(nodeList); | |
console.log('[OK]', nodeArray); | |
var data = []; | |
for (var index = 0; index < nodeArray.length; index++) { | |
var currentEl = nodeArray[index]; | |
var currentLink = currentEl.getAttribute('href'); | |
var currentTitle = currentEl.text; | |
var currentItem = { | |
'link': currentLink, | |
'title': currentTitle | |
}; | |
data.push(currentItem); | |
} | |
return data; | |
}); | |
alldata = data; | |
fs.write('./OutputData/data.json', JSON.stringify(data), 'w'); | |
}); | |
casper.then(function () { | |
console.log('abcd', alldata[0].link); | |
// casper.thenOpen("localhost:3000", { | |
// type: 'POST', | |
// data: alldata, | |
// contentType: 'application/json' | |
// }); | |
var server = "http://localhost:3000"; | |
var p = { link: alldata[0].link }; | |
var params = JSON.stringify(p); | |
var json = this.evaluate(function (server, params) { | |
try { | |
console.log('trying'); | |
return JSON.parse(__utils__.sendAJAX(server, 'POST', params, true)); | |
} catch (e) { | |
console.log("error sending post data"); | |
} | |
}, server, params); | |
console.log(json); | |
}); | |
casper.run(); // implicitly runs exit() function |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var express = require('express'); | |
var bodyParser = require('body-parser'); | |
var fs = require('fs'); | |
var connection = require('./mysql/connect'); | |
var app = express(); | |
app.use(bodyParser.json()); | |
app.use(bodyParser.urlencoded({ extended: false })); | |
app.get('/', function (req, res) { | |
console.log('incoming request'); | |
console.log(req); | |
res.send('s'); | |
}); | |
app.post('/', function (req, res) { | |
console.log('incoming request'); | |
console.log(req); | |
res.send('s'); | |
}); | |
app.get('/viewdata', function (req, res) { | |
connection.query('SELECT * from googlesearch', function (err, rows, fields) { | |
if (!err) { | |
console.log('The Search Results', rows); | |
if (rows.length === 0) { | |
res.send("No Data has been found"); | |
} else { | |
res.send(rows); | |
} | |
} else { | |
console.log('Error while performing query', err); | |
} | |
}); | |
}); | |
app.get('/savedata', function (req, res) { | |
fs.readFile('./OutputData/data.json', 'utf8', function (err, d) { | |
if (err) { | |
console.log(err); | |
return; | |
} | |
var obj = JSON.parse(d); | |
obj.forEach(function (element) { | |
connection.query('INSERT INTO googlesearch (link, title) VALUES ?', (element.link, element.title), function (err, results) { | |
if (err) { | |
res.send(err); | |
return; | |
} else { | |
res.send(results); | |
} | |
}); | |
}); | |
}); | |
}); | |
app.listen(3000, function () { | |
console.log(' node server connected '); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment