Node.js 网站内容抓取及Mysql存取Demo
2015-12-25 00:00
771 查看
var DBUtils = { //新增 _insert: function (client, insertSQLString, value) { client.query(insertSQLString, value, function (error, results) { if (error) { console.log("ClientReady Error:" + error.message); client.end(); return; } else { console.log("Inserted:" + results.affectedRows + " row."); console.log("Insert success..."); } }); }, //查询 _select: function (client, selectSQLString) { client.query(selectSQLString, function (error, results, fields) { if (error) { console.log("GetData Error:" + error.message); client.end(); return; } if (results.length > 0) { var firstResult, resultSet = ''; for (var i = 0; i < results.length; i++) { firstResult = results[i]; resultSet += "ID:" + firstResult["ID"] + ' Name:' + firstResult["Name"] + " PWD:" + firstResult["PWD"] + "\n"; } console.log(resultSet); } }); }, //更新 _update: function (client, updateSQLString) { client.query(updateSQLString, function (error, results) { if (error) { console.log("ClientReady Error:" + error.message); client.end(); return; } console.log("Update success..."); }); }, //删除 _delete: function (client, deleteSQLString) { client.query(deleteSQLString, function (error, results) { if (error) { console.log("ClientReady Error:" + error.message); client.end(); return; } console.log("Delete success..."); }); } }; exports._insert = DBUtils._insert; exports._select = DBUtils._select; exports._update = DBUtils._update; exports._delete = DBUtils._delete;
///山西政府采购网公示招标信息爬取/// var request = require('request'); var cheerio = require('cheerio'); var db = require("./DBUtils.js") var list_url = 'http://www.ccgp-shanxi.gov.cn/view.php?nav=100'; var view_url = 'http://www.ccgp-shanxi.gov.cn/view.php?nid=' var myDate = new Date(); //当前日期 var currDate = myDate.getFullYear()+"-"+myDate.getMonth()+"-"+myDate.getDate(); //来源 var from_ = "山西政府采购网"; //分类 var cate1 = "政采信息"; var mysql = require('mysql'); var client = mysql.createConnection({ host : 'localhost', user : 'app', password : 'app', database : 'test' }); client.connect(); request(list_url, function (error, res, body) { if (!error && res.statusCode == 200) { // console.log("body:", body); var $ = cheerio.load(body); var trs = $('#node_list tbody tr'); //循环tr var i = 0; trs.each(function(index,element){ var startDate = $(this).children().children("#sdate"+i).val(); var endDate = $(this).children().children("#fdate"+i).val(); var title = $(this).children().children("a").attr("title"); var viewUrl = $(this).children().children("a").attr("href"); var orid = viewUrl.substr(viewUrl.indexOf("=")+1,viewUrl.length); viewUrl = view_url + orid; var area = $(this).children().next().text(); db._insert(client, "insert into news set title=?,from_=?,detail=?,getDate=?,publicDate=?,remark=?,cate1=?", [title, from_, viewUrl,currDate, startDate,"结束于"+endDate, cate1]); console.log("title==="+title); i++; }); client.end(); } })
相关文章推荐
- MySQL Config -sql_mode
- 部署和调优 2.8 mysql主从配置-2
- 在MySQL中设置外键约束
- mysql中查看存储过程,表,视图,函数
- MySQL数据库的基础操作
- mac下卸载mysql数据库 控制台代码
- MySQL Workbench 使用教程
- windows下MySQL5.6版本安装及配置过程
- MySql表中key的区别
- Mysql数据库的优化,慢查询
- mysql数据库的数据备份和恢复
- Mysql 关联查询得where条件
- MySQL和Sql Server的sql语句区别
- MySQL存储过程
- MySQL命令行乱码问题解决
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- Hibernate对Mysql数据库进行增删改
- 如何修改wampserver中mysql数据库的空密码
- mysql5.7.10安装
- mysql5.6.27主从从复制及切换