Получить первый результат из поиска Google и его URL с помощью JavaScript - PullRequest
0 голосов
/ 24 июня 2018

У меня есть фрагмент кода, который возвращает URL с поиском;

        if (message.content.startsWith(prefix + "google")) {
        var lookup = message.content.replace(";google ", '');
        var newlookup = "https://www.google.com/search?source=hp&ei=mFopW5aMIomSsAfRw77IDg&q=test";
        newlookup = newlookup.replace('test',lookup);
        newlookup = newlookup.replace(/\s+/g, '+')
        message.channel.send("<a:googling:426453223310622740>" + " Loading...").then(r => {
             setTimeout(function(){
                r.edit(newlookup);
            }, 2000);
            });
    }

Но я хочу вернуть URL первого полученного результата.например, если я ищу «stackoverflow», я получаю «https://stackoverflow.com/" Я не уверен, как это сделать. Заранее спасибо

1 Ответ

0 голосов
/ 24 июня 2018

Вы можете использовать

Требовать его, и тогда ваш код должен выглядеть следующим образом:

const google = require("google");
//..................................................................................
message.channel.send("<a:googling:426453223310622740> Loading...").then(msg => {
  google(lookup, (err, res) => {
    if (err) console.error(err);
    else {
      let url = res.links[res.start].link; //you can also use .href instead of .link
      msg.edit(url);
    }
  });
});

Этот способ прост, но в то же время не является "правильным":этот пакет не поддерживается Google, и они могут заблокировать ваш поиск, если вы злоупотребите им.Это все, что я смог найти.

Другой способ - использовать API поиска Google, как это предложил Андре, но для этого потребуется создать специальную поисковую систему, и вы не сможете просматривать сам Google..

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