问题描述
我正在尝试制作一个不和谐的机器人,我在其中搜索“示例图片”,并在该搜索词下从谷歌随机获取一张图片并将其发送。
这是我目前所拥有的:
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 包。