Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在electron中从网站上删除html标记_Javascript_Node.js_Electron - Fatal编程技术网

Javascript 在electron中从网站上删除html标记

Javascript 在electron中从网站上删除html标记,javascript,node.js,electron,Javascript,Node.js,Electron,有没有一种方法可以在electron中刮掉一个网站。我的目标是能够去一个网站,刮html标签。我使用的是windows计算机,因此我启动了appnpm start index.html。我的想法是创建一个.js文件并使用requireURL、functionerr、resp、html{},就像您在node中可以做的那样,但这在electron中不起作用。此代码无法刮取页面并执行回调。我只想要html。我怎样才能做到这一点? 我在app.js文件中调用的代码是 function scrape(ca

有没有一种方法可以在electron中刮掉一个网站。我的目标是能够去一个网站,刮html标签。我使用的是windows计算机,因此我启动了appnpm start index.html。我的想法是创建一个.js文件并使用requireURL、functionerr、resp、html{},就像您在node中可以做的那样,但这在electron中不起作用。此代码无法刮取页面并执行回调。我只想要html。我怎样才能做到这一点? 我在app.js文件中调用的代码是

function scrape(callback){ 

    var content = [];
    var request = require('request');
    var cheerio = require('cheerio');
    var url = "http://www.amazon.com";



    request(url, function(error, response, html){

       if (error){

          content.push('Error:', error);
       }
       if (response.statusCode !== 200) {

          content.push('Invalid Status Code Returned:', response.statusCode);
     }

      content.push(html);
      var $ = cheerio.load(html);


    $('td').each(function (i, element) {


        var a = $(this).prev();
        var trimmed_a = a.text();

        trimmed_a = trimmed_a.trim();
        var str = trimmed_a.replace(/\s\s+/g,"");
        var newStr = str.trim();

       content.push(newStr);

    });


 })
  callback(content);
}    

module.exports = scrape;

回调工作正常,但代码未执行。我有很多不明白的地方,所以请随意进行建设性的指导。我们的目标是能够使用此工具刮取任何网站。

对于使用electron刮取网站,我建议您使用

npm安装噩梦

    var Nightmare = require('nightmare');
    var nightmare = Nightmare({ show: true });

    nightmare
        .goto('https://duckduckgo.com')
        .type('#search_form_input_homepage', 'github nightmare')
        .click('#search_button_homepage')
        .wait('#zero_click_wrapper .c-info__title a')
        .evaluate(function() {
            return document.querySelector('#zero_click_wrapper .c-info__title a').href;
        })
        .end()
        .then(function(result) {
            console.log(result);
        })
        .catch(function(error) {
            console.error('Search failed:', error);
        });