2016-03-10 7 views
2

Я использовал библиотеку Jsoup для извлечения метаданных из url.Извлечение метаданных из 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

ответ

5

Вы не можете сделать это клиент только из-за cross-origin вопроса. Для получения содержимого страницы вам потребуется сценарий на стороне сервера.

OR Вы можете использовать YQL. Таким образом, YQL будет использоваться как прокси.

Например:

$('button').click(function(){ 
 
    var query = 'select * from html where url="' + $('input').val() + '" and xpath="*"'; 
 
    var url = 'https://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent(query); 
 

 
    $.get(url, function(data) { 
 
    var html = $(data).find('html'); 
 
    $('#kw').html(html.find('meta[name=keywords]').attr('content') || 'no keywords found'); 
 
    $('#des').html(html.find('meta[name=description]').attr('content') || 'no description found'); 
 
    $('#img').html(html.find('img').attr('src') || 'no image found'); 
 
    }); 
 
});
<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>

+0

спасибо за решение, но как я могу показать изображение из URL. P.S URL-адрес содержит много изображений, как показать лучший из них. – SR230

+0

'лучший от него' Откуда ты знаешь, кто из лучших? –

+0

- это стабильное решение для использования в социальной сети для очистки метаданных от URL-адресов, например, facebook? может ли он обрабатывать множество одновременных запросов? – Engineeroholic