首页 > 解决方案 > 如何从快速路线中调用我的网络爬虫?

问题描述

我的 Nodejs 服务器的根目录中有一个网络爬虫,运行 express。这是一个使用 needle 对 html 发出 get 请求的文件,它返回一个数据数组。然后我有我的 index.js 和我的快速路线,一个简单的,比如"/api/scrape".

但是,当我转到该 url 时,服务器控制台仍会在刮板中打印出 console.log 以表明它正在完成。但是快递想在等待刮板完成之前继续前进。

在将响应发送回 React 之前,如何等待爬虫完成。

标签: javascriptnode.jsreactjsexpress

解决方案


你可以看看这个项目 - https://github.com/vodolaz095/email-parser-api

它是简单的 Selenium 驱动的 api,它是从 nodejs 应用程序中调用的,暴露了某种 REST API。

代码很简单

这是 expressjs 路由器代码,它实际上调用刮板以响应 POST 请求

https://github.com/vodolaz095/email-parser-api/blob/master/index.js#L21-L53

这是刮板代码

https://github.com/vodolaz095/email-parser-api/blob/master/lib/parser.js


推荐阅读