当前位置: 首页 > 后端技术 > Node.js

nodejs爬虫http、cheerio、mysql模块

时间:2023-04-03 18:40:14 Node.js

Nodejs相关模块获取网页内容(httprequestsuperagent等)过滤网页信息(cheerio)输出或存储信息(consolefsmongodbmysql等)1.使用request模块获取网页内容varrequest=require('request');//通过GET请求读取获取http://cnodejs.org/的内容request('http://cnodejs.org/',function(error,response,body){if(!error&&response.statusCode==200){//输出网页内容console.log(body);}});如果是其他请求方式,或者需要指定请求头信息,可以在第一个参数中传入一个对象来指定,例如:varrequest=require('request');request({url:'http://cnodejs.org/',//请求URLmethod:'GET',//请求方法headers:{//指定请求头'Accept-Language':'zh-CN,zh;q=0.8',//指定Accept-Language'Cookie':'__utma=4454.11221.455353.21.143;'//指定Cookie}},function(error,response,body){if(!error&&response.statusCode==200){console.log(body)//输出网页内容}});2、使用cheerio模块提取网页数据cheerio是jQueryCore的一个子集,在jQueryCore中实现设备无关D浏览OM操作API,下面是一个简单的例子:varcheerio=require('cheerio');//通过load方法将HTML代码转换为jQuery对象var$=cheerio.load('Helloworld');//你可以使用与jQuery相同的语法来操作$('h2.title').text('Hellothere!');$('h2').addClass('welcome');console.log($.html());//会输出Hellothere!3.使用mysql模块将数据存入数据库。mysql模块内置了连接池机制,下面是一个简单的使用例子:varmysql=require('mysql');//创建数据库连接池varpool=mysql.createPool({host:'localhost',//数据库地址user:'root',//数据库用户密码:'',//对应密码database:'example',//数据库名称connectionLimit:10//最大连接数,默认为10});//在使用SQL查询之前,需要调用pool.getConnection()获取一个连接pool.getConnection(function(err,connection){if(err)throwerr;//connection是当前可用的数据库连接});参考文档jquery选择器总结https://www.cnblogs.com/xiaxuexiaoab/p/7091527.htmlnodejs爬虫https://www.cnblogs.com/xiaxuexiaoab/p/7124956.html欢迎评论