numpy Flutter jsf deployment ide bower 河南网络推广 河南省普通话考试官网 网络营销视频教程 直销系统源码 jq点击事件 matlab复数求模 coreldraw学习 网络游戏server编程 maven配置eclipse oracle给表增加字段 python循环 pythoninput python基础教程 python重复执行 python获取时间戳 java中基本数据类型 java读取文件内容 java判断语句 java泛型方法 javascript基础 opengl编程指南 java分布式开发 网络克隆 mac地址修改 思源字体 js保留两位小数 红巨人插件 苍灵世界 medcalc 大势至usb监控 草图大师版本转换器 大数据之路 逗号的作用 jsp源代码
当前位置: 首页 > 学习教程  > 编程语言

node.js crawler和sql模块的基本使用

2020/8/11 20:35:43 文章标签:

crawler(爬虫)模块

适用于Node的功能最强大,最受欢迎和生产中的抓取/抓取软件包,祝您黑客愉快:)

安装

下载node.js后 首先先在终端进行初始化

$ npm init -y

然后在终端中进行爬虫模块的安装

npm i crawler

基本用法

// 导入crawler包
var Crawler = require("crawler");

// 创建爬虫对象
var c = new Crawler({
    maxConnections : 10,
    
    // 爬完一个数据  会触发的事件
    callback : function (error, res, done) {
        if(error){
            console.log(error);
        }else{
        // 爬去网站之后  爬虫模块提供的一个$对象  $可以让我们以jQuery的方法来访问数据
        
            var $ = res.$;
            
            console.log($("title").text());
        }
        done();
    }
});
 
//需要进行爬虫的网址
c.queue('http://www.amazon.com');
 
// Queue a list of URLs
c.queue(['http://www.google.com/','http://www.yahoo.com']);
 
// Queue URLs with custom callbacks & parameters
c.queue([{
    uri: 'http://parishackers.org/',
    jQuery: false,
 
    // The global callback won't be called
    callback: function (error, res, done) {
        if(error){
            console.log(error);
        }else{
            console.log('Grabbed', res.body.length, 'bytes');
        }
        done();
    }
}]);
 
// Queue some HTML code directly without grabbing (mostly for tests)
c.queue([{
    html: '<p>This is a <strong>test</strong></p>'
}]);

案例

// 导入crawler包
var Crawler = require("crawler");

// 导入fs模块
var fs = require("fs");

// 创建爬虫对象
var c = new Crawler({

    // 最大的连接数
    maxConnections: 10,

    // This will be called for each crawled page
    // 爬完一个数据  会触发的事件
    callback: function (error, res, done) {
        if (error) {
            console.log(error);
        } else {

            // 爬去网站之后  爬虫模块提供的一个$对象  $可以让我们以jQuery的方法来访问数据
            var $ = res.$;

            var str = "";

            var foodArr = [];

            $(".thumbnail").each((index, Element) => {
                const img = $(Element).find("img").attr("src");
                // console.log(img);

                const recipe = $(Element).find(".caption p>a").text();
                // console.log(recipe);

                foodArr.push({
                    imgSrc: img,
                    recipe: recipe
                })
            })

            fs.writeFile("./luowang.json", JSON.stringify(foodArr), (err) => {
                console.log("写入成功");
            })

        }
        done();
    }
});


c.queue(['https://cqcn.fandom.com/zh/wiki/%E5%8B%87%E5%A3%AB', 'https://cqcn.fandom.com/zh/wiki/%E9%AA%91%E5%A3%AB', 'https://cqcn.fandom.com/zh/wiki/%E5%89%91%E5%A3%AB', 'https://cqcn.fandom.com/zh/wiki/%E5%BC%93%E6%89%8B', 'https://cqcn.fandom.com/zh/wiki/%E7%8C%8E%E4%BA%BA', 'https://cqcn.fandom.com/zh/wiki/%E6%B3%95%E5%B8%88']);

mysql模块

和上面的爬虫模块的安装方法是差不多的

安装

下载node.js后 首先先在终端进行初始化

$ npm init -y

然后在终端中进行mysql模块的安装

npm i mysql

基本使用

// 导入mysql模块
var mysql = require('mysql');
// 创建数据库连接对象 配置相关信息
var connection = mysql.createConnection({
    host: 'localhost', //主机名
    user: 'root', //用户名
    password: 'root', //密码
    database: 'test' //数据库名
});

//创建数据库连接
connection.connect();

// 操作数据库
// 1.查询数据库数据
// connection.query('select * from students', (error, results, fields) => {
//     if (error) throw error;
//     console.log(results);
// });

// 2.插入数据  insert into 数据表名(属性名)values(属性值)
// connection.query('insert into students (name,age,score) values("zs",18,86)', (error, results, fields) => {
//     if (error) throw error;
//     console.log(results);
// });

// 3.删除 根据某一个id删除数据
// connection.query('delete from students where id in(5,6,7)', (error, results, fields) => {
//     if (error) throw error;
//     console.log(results);
// });

// 4.修改数据
connection.query('update students set name="隔壁老王",score=100 where id=2', (error, results, fields) => {
    if (error) throw error;
    console.log(results);
});

connection.end();

本文链接: http://www.dtmao.cc/news_show_100379.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?