当前位置: 首页 > 面试题库 >

从网址获取元数据

谭坚诚
2023-03-14
问题内容

我已经使用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("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 做到这一点


问题答案:

您不能仅仅因为这个cross- origin问题而做客户端。您需要服务器端脚本来获取页面的内容。

或者 您可以使用 YQL。这样, YQL将用作代理。
https://policies.yahoo.com/us/en/yahoo/terms/product-
atos/yql/index.htm

或者, 您可以使用https://cors-anywhere.herokuapp.com。这样,任何地方的cors都将用作代理:

例如:

$('button').click(function() {

  $.ajax({

    url: 'https://cors-anywhere.herokuapp.com/' + $('input').val()

  }).then(function(data) {

    var html = $(data);



    $('#kw').html(getMetaContent(html, 'description') || 'no keywords found');

    $('#des').html(getMetaContent(html, 'keywords') || 'no description found');

    $('#img').html(html.find('img').attr('src') || 'no image found');

  });

});



function getMetaContent(html, name) {

  return html.filter(

  (index, tag) => tag && tag.name && tag.name == name).attr('content');

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>



<input type="text" placeholder="Type URL here" value="http://www.html5rocks.com/en/tutorials/cors/" />

<button>Get Meta Data</button>



<pre>

  <div>Meta Keyword: <div id="kw"></div></div>

  <div>Description: <div id="des"></div></div>

  <div>image: <div id="img"></div></div>

</pre>


 类似资料:
  • 问题内容: 假设有人输入这样的网址: 我想返回: 不 这是我现在拥有的代码 但这又回来了 问题答案: 检查下面的代码,它应该做的很好。

  • 我正在使用Google OAuth连接到仪表板,问题是当

  • 问题内容: 我有一个带有一些图像的常规HTML页面(只是常规HTML标签)。我想获取他们的内容,最好以base64编码,而无需重新下载图像(即浏览器已经加载了该图像,所以现在我想要的内容)。 我很乐意使用Greasemonkey和Firefox实现这一目标。 问题答案: 注意: 仅当图像与页面来自同一域或具有属性并且服务器支持CORS时,此方法才有效。它也不会给您原始文件,而是一个重新编码的版本。

  • 问题内容: 我试图用来获取Chrome标签,如下所示: (伪代码) 按F6定向网址行。 Ctrl + C复制网址 从剪贴簿获取网址 通过BS4处理URL,请求,selenium等。 我完成了步骤1并停留在步骤2。同样,我也不知道如何处理步骤3。因此,认为我发现的方法不正确且效率不高。有人可以建议我应该做什么或给我更好的方法吗? 问题答案: 只是将所有评论汇总在一个答案中… 没有技巧和剪贴板抓取功能

  • 问题内容: 我有一个Post模型,在将其添加到数据库之前,它需要一个特定的类别,并且我希望该类别能够自动生成。单击addPost按钮会将您带到其他页面,因此将通过获取上一页URL的一部分来确定类别。 有没有一种方法可以将上一页URL作为字符串获取? 谢谢 编辑:我在这里添加了我的AddPost按钮。 问题答案: 你可以使用来做到这一点,但是如果只有选项卡的上一页来自你的网站,那么它将存在,否则中将

  • 本文向大家介绍如何在JavaScript中获取图片数据网址?,包括了如何在JavaScript中获取图片数据网址?的使用技巧和注意事项,需要的朋友参考一下 若要使用javascript将图像从HTML页面标签转换为数据URI,首先需要创建一个canvas元素,将其宽度和高度设置为与图像相同,在其上绘制图像,最后在其上调用toDataURL方法。 这将返回图像的base64编码数据URI。例如,如果