Javascript 从url获取元数据
我已经使用Jsoup库从url获取元数据Javascript 从url获取元数据,javascript,html,ajax,cross-domain,metadata,Javascript,Html,Ajax,Cross Domain,Metadata,我已经使用Jsoup库从url获取元数据 Document doc = Jsoup.connect("http://www.google.com").get(); String keywords = doc.select("meta[name=keywords]").first().attr("content"); System.out.println("Meta keyword : " + keywords); String description = doc.select("me
Document doc = Jsoup.connect("http://www.google.com").get();
String keywords = doc.select("meta[name=keywords]").first().attr("content");
System.out.println("Meta keyword : " + keywords);
String description = doc.select("meta[name=description]").get(0).attr("content");
Elements images = doc.select("img[src~=(?i)\\.(png|jpe?g|gif)]");
String src = images.get(0).attr("src");
System.out.println("Meta description : " + description);
System.out.println("Meta image URl : " + src);
但是我想在客户端使用javascript做这件事,因为这个问题,你不能在客户端做这件事。您需要一个服务器端脚本来获取页面内容 或您可以使用。这样,
YQL
将用作代理。
或您可以使用。这样,cors anywhere将用作代理:
例如:
$(“按钮”)。单击(函数(){
$.ajax({
网址:'https://cors-anywhere.herokuapp.com/'+$('input').val()
}).then(功能(数据){
var html=$(数据);
$('#kw').html(getMetaContent(html,'description')| |'未找到关键字');
$('#des').html(getMetaContent(html,'关键字')| |'未找到描述');
$('#img').html(html.find('img').attr('src')| |'未找到图像');
});
});
函数getMetaContent(html,名称){
返回html.filter(
(index,tag)=>tag&&tag.name&&tag.name==name.attr('content');
}
获取元数据
元关键字:
说明:
图片:
感谢您提供的解决方案,但我如何从URL显示图像。附:URL包含许多图片,如何显示其中最好的图片。其中最好的图片
你如何知道谁是最好的?这是一个稳定的解决方案,可以在社交网络中用于从URL中获取元数据,就像facebook那样吗?它能处理许多并发请求吗?@Engineeroholic我没有用许多请求测试它。我肯定Facebook不会这么做。“正确”的解决方案是使用“代理”服务器。更多信息。阅读答案。您试图获取的url是什么?