首页 > 解决方案 > Is it possible that someone helps to me passing URL as argument

问题描述

I have two node files , I need to know how to open the second file passing as argument the url of the first file

Server file (First file)

var express = require('express');
var request = require('request');
var app     = express();
var arr2 = [];
app.get('/', function(req, res,body){   
    var queryParam = req.query;
    var url = queryParam.website;  
})
app.listen('3000')
console.log('Web Scrape happens on port 3000');
exports = module.exports = app;

(Second file) The file to extract links from website

var request = require('request');
var cheerio = require('cheerio');
request(url , function(err,resp,body){
    $ = cheerio.load(body);
    links = $('a');
    $(links).each(function(i,link){
        console.log(url+$(link).attr('href'));
    }
   )
})

The problem is about how I could pass the url from first file to second file it is any possibility to pass the ur as argument in node js ?

标签: node.jsexpressweb-scrapingrequestcheerio

解决方案


试试这个

(第二个文件)

var request = require('request');
var cheerio = require('cheerio');

module.exports = {
request : function(url , function(err,resp,body){
    $ = cheerio.load(body);
    links = $('a');
    $(links).each(function(i,link){
        console.log(url+$(link).attr('href'));
    }
   )
})
}

第一个文件

var express = require('express');
var request = require('request');
var app     = express();
var file2 = require('./file2'); //import file2 
var arr2 = [];
app.get('/', function(req, res,body){   
    var queryParam = req.query;
    var url = queryParam.website;
    file2.request(url,....) ///fill what you need 
})
app.listen('3000')
console.log('Web Scrape happens on port 3000');
exports = module.exports = app;

推荐阅读