Как мне проанализировать результаты .get, чтобы у меня были только ссылки в тегах привязки?

0

Как я могу получить только массив, возвращенный со всеми ссылками по данной ссылке?

$.get( "http://ocw.mit.edu/courses/biological-engineering/20-010j-introduction-to-bioengineering-be-010j-spring-2006/lecture-notes/", function( data ) {
  alert( "Data Loaded: " + data );
});
  • 3
    Вы не можете делать Ajax-вызовы на внешние URL-адреса, если сервер явно не разрешает это. Вместо этого используйте язык на стороне сервера, если вы хотите очистить произвольные веб-сайты.
  • 2
    Политика единого происхождения
Показать ещё 1 комментарий
Теги:

2 ответа

0

Правильно, вы не можете делать прямые аякс-вызовы внешним URL-адресам. Однако можно сделать это с помощью YQL и jQuery, например:

HTML -

<ul id="list">
</ul>

JS -

var url = encodeURIComponent("select * from html where url='http://ocw.mit.edu/courses/biological-engineering/20-010j-introduction-to-bioengineering-be-010j-spring-2006/lecture-notes' and xpath='//a/@href'");

var yql = "http://query.yahooapis.com/v1/public/yql?q=" + url + "&format=json";

$.getJSON(yql,
          function(data) {
              $.each(data.query.results.a, function(i, item) {
                  $('#list').append('<li>'+item.href+'</li>');
              });       
          }
);

Fiddle - http://jsfiddle.net/55QV9/

0

вы можете использовать регулярные выражения. начните с этого

data.match(/<a.+?href=('|")([^\1]+?)\1/mg).map(function(m) { console.log(m) });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню