不和谐谷歌图片搜索

问题描述

我正在尝试制作一个不和谐的机器人,我在其中搜索“示例图片”,并在该搜索词下从谷歌随机获取一张图片并将其发送。

这是我目前所拥有的:

bot.on('message',message => {
 
    let args = message.content.substring(PREFIX.length).split(" ");
 
    switch (args[0]) {
        case 'image':
        image(message);
 
        break;
    }
 
});
 
function image(message){
 
    var options = {
        url: "http://results.dogpile.com/serp?qc=images&q=" + "example image",method: "GET",headers: {
            "Accept": "text/html","User-Agent": "Chrome"
        }
    };
 
 
 
 
 
    request(options,function(error,response,responseBody) {
        if (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) {
           
            return;
        }
 
        // Send result
        message.channel.send( urls[Math.floor(Math.random() * urls.length)]);
    });

它可以工作,但由于某种原因,dogpile 没有提供一些图像,所以基本上我尝试了一切使其在谷歌而不是 dogpile 中搜索,但它不起作用。

TLDR:我如何在谷歌而不是 dogpile 中搜索

解决方法

您可以使用 npm image-search-google 包。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...