Модуль npm поисковой системы-клиента работает локально, но не после развертывания функции firebase - PullRequest
1 голос
/ 27 июня 2019

Облачная функция работает локально, но после того, как развертывание перестает работать.

Цель состоит в том, чтобы получить ссылки из поисковых систем для определенного запроса, чтобы впоследствии искать внутри каждой страницы определенную информацию.

Я пробовал в heroku, но он также не работает.

index.js

    const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    const credential = require('./xxx-firebase-adminsdk-xxx-xxx.json')
    const sec = require('search-engine-client');

    console.log('initialing functions at ', new Date().toString())

        admin.initializeApp({ credential: admin.credential.cert(credential), databaseURL: "https://wasender-fa4c9.firebaseio.com" });

    exports.getLinks = functions.runWith({ timeoutSeconds: 540 }).https.onCall((data, context) => {

      console.log('starting to get links ', new Date().toString())

      console.log('search-engine-client working? ', sec)


    sec.google("text to search").then(function(result){
        console.log('google result',result); // these lines are not getting printed in the function log
    });


    sec.bing("text to search").then(function(result){
        console.log('bing result',result); // these lines are not getting printed in the function log
    });


    })

Он не печатает никаких ссылок на результаты поиска для поисковых систем.

Log

search-engine-client working?  { google: [AsyncFunction: GetLinks],
  bing: [AsyncFunction: GetLinks],
  aol: [AsyncFunction: GetLinks],
  ask: [AsyncFunction: GetLinks],
  yahoo: [AsyncFunction: GetLinks],
  duckduckgo: [AsyncFunction: GetLinks],
  baidu: [AsyncFunction: GetLinks],
  builder: [AsyncFunction: LinkBuilder] }

Полный код доступен на pastebin: https://pastebin.com/aCRJrFk5

Отредактировано

Я обнаружил, что nightmare.js и электрон будут работать толькона Aws и Azure.Сейчас я пытаюсь развернуть его на Azure.

Очевидно, потому что Nightmare.js использует Electron, для него требуется операционная система с графическим интерфейсом пользователя.В противном случае не работает.VPS может быть решением для этого случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...