Как запросить изображения - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу иметь возможность отправлять запрошенные изображения. Я следовал за учебником, и он работал. В коде они использовали dogpile для получения изображений. В уроке они сказали, что вы можете использовать google вместо dogpile, но я попробовал. Мой вопрос в том, каков правильный синтаксис для слота URL.

    function image(message){

    var options = {
        url: "http://results.dogpile.com/serp?qc=images&q=" + "dogs",
        method: "GET",
        headers: {
            "Accept": "text/html",
            "User-Agent": "Chrome"
        }
    };


    request(options, function(error, response, responseBody) {
        if (error) {
            console.log('Error')
            return;
        }

         $ = cheerio.load(responseBody); 


        var links = $(".image a.link");

        var urls = new Array(links.length).fill(0).map((v, i) => links.eq(i).attr("href"));

        console.log(urls);

        if (!urls.length) {
           console.log('Error')
            return;
        }

        // Send result
        message.channel.send( urls[Math.floor(Math.random() * urls.length)]);
    });
}

использует ли cheerio только один этот сайт или что? Я пытался вставить URL для google, bing, yahoo и так далее. Я хочу больший выбор фотографий, чем у dogpile. Я заменил http://results.dogpile.com на URL-адреса Google et c. Я не был уверен, что Черио только прочитал /serp?qc=images&q= часть или что. Я пытался искать везде, но это было слишком конкретно c, чтобы действительно найти что-нибудь полезное на нем.

...