从nodejs跑来的

2024-09-21 11:36:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从node js项目运行一个糟糕的脚本。当我使用下面的命令在pythonide中运行它时,它工作得很好

python scrap.py

当脚本从nodejs执行时,它成功完成,但不显示任何错误或生成输出文件。在

在废料.py在

def main():
    try:       
        process = CrawlerProcess(get_project_settings())
        process.crawl('crawlim')        
        process.start()
        print ("executed")
        sys.stdout.flush()
    except:
        print ("error")
if __name__ == '__main__':
         main()

节点文件

^{pr2}$

Tags: 文件项目py命令脚本nodemain错误
2条回答

使用require('child_process').exec

var exec = require('child_process').exec;
var path = require('path');

var file_path = path.join(__dirname, 'scrap.py');
exec('python ' + file_path, function (error, stdout, stderr) 
{ 
    if(error){
        console.log(stderr);
    }else {
        console.log(stdout);
      }
});

根据需要,有不同的写刮板的方法。它还取决于使用了哪些库来获取数据(scrapy用于抓取数据,或者selenium描述浏览器交互并获取所需的数据)。根据我的个人经验,我们可以调用scraper脚本(我们的scraper脚本使用selenium和BeautifulSoup库)。 下面是我们如何使用子进程执行脚本。在

   const spawn = require("child_process").spawn;
   const pythonProcess = spawn('python',["./Scraper_script.py",p]);

如果使用scrapy spider来抓取数据,那么这种方法就行不通了。在

相关问题 更多 >

    热门问题