首页 > 解决方案 > 如何在 NodeJS 中访问 MySQL 查询的结果?

问题描述

所以我要做的是构建一个网络爬虫,它接收我在 mysql 数据库中收集的 URL,将这些 URL 提供给爬虫,然后通过 UPDATE 查询将更新的价格插入数据库。我的问题是让数据库结果超出查询功能的范围并进入刮板功能。我研究过功能,但没有运气。请指出正确的方向,我是 NodeJS 的新手。谢谢!

const cheerio = require('cheerio');
const cron = require('node-cron');
const mysql = require('mysql');

let connection = mysql.createConnection({
    host: 'localhost',
    user: 'test',
    password: 'hidden',
    database: 'in_main',
    port:3306
});


connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT product_url FROM products", function (err, result, fields) {
    if (err) throw err;
  Object.keys(result).forEach(function(key) {
      var row = result[key];
      console.log(row.product_url);
      
    }); 
  });
});

//console.log(row);             yields an empty object


const getPostTitles = async () => {
    try {
        const { data } = await axios.get(
            'https://www.amazon.com/s?k=detergent&ref=nb_sb_noss'
        );
        const $ = cheerio.load(data);
        const postTitles = [];

        $('div > a ').each((_idx, el) => {
            const postTitle = $(el).text()
            postTitles.push(postTitle)
        });

        return postTitles;
    } catch (error) {
        throw error;
    }
};



//getPostTitles()
//.then((postTitles) => console.log(postTitles)); 

标签: javascriptmysqlnode.jsweb-scrapingscope

解决方案


推荐阅读