我希望能够发送请求的图像。我遵循了一个教程,并且有效。但是在代码中,他们使用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
只是使用那个网站还是什么?我尝试插入google
,bing
,yahoo
等的URL。我想要比dogpile
拥有更多的图片选择。我用Google URLs等替换了http://results.dogpile.com
。我不确定cheerio是否仅阅读/serp?qc=images&q=
部分或其他内容。我尝试过到处寻找,但是它太具体了,无法真正找到有用的东西。