Я хочу использовать jQuery для анализа RSS-каналов. Можно ли это сделать с помощью базовой библиотеки jQuery из коробки или мне нужно будет использовать плагин?
Я бы выбрал github.com/sdepold/jquery-rss - это лучший вариант прямо сейчас, доступно несколько вариантов! :)

Используйте jFeed - плагин jQuery RSS / Atom. Согласно документации, это очень просто:
jQuery.getFeed({
url: 'rss.xml',
success: function(feed) {
alert(feed.title);
}
});
какие-нибудь примеры использования в реальном мире? т.е. синтаксический анализ и отображение, а не оповещение. или это так просто, как $ ("# results"). append (feed.title)
ПРИМЕЧАНИЕ: в загрузке есть множество отличных примеров.
хороший ответ, но я не могу скачать этот плагин, как я могу его скачать, потому что формат tar.gz не поддерживается моим WinRAR
Анирудха, может, попробуете 7-zip? Он бесплатный, с открытым исходным кодом и открывает файлы различных типов, включая tar / gzip.
Обратите внимание, что последняя версия этого плагина доступна на Github.
Похоже, что jFeed больше не поддерживается активно (последнее изменение было сделано 2 года назад, и многие открытые запросы на вытягивание, похоже, игнорируются) и не работает с последними выпусками jQuery.
Это на GitHub. Почему бы не разветвить и не обновить вместо того, чтобы жаловаться на это? Может быть, напишите автору и узнайте, что случилось.
Пару лет назад я использовал jFeed, и у меня был большой опыт работы с ним.
Используйте Google AJAX Feed API, если ваши данные RSS не являются конфиденциальными. Конечно, быстро.
https://developers.google.com/feed/
Хорошая идея, но не работает, когда вы находитесь внутри брандмауэра, который требует проверки подлинности прокси-сервера с использованием диалогового окна.
канал Google устарел и больше не поддерживается.
function getFeed(sender, uri) {
jQuery.getFeed({
url: 'proxy.php?url=' + uri,
success: function(feed) {
jQuery(sender).append('<h2>'
+ '<a href = "'
+ feed.link
+ '">'
+ feed.title
+ '</a>'
+ '</h2>');
var html = '';
for(var i = 0; i < feed.items.length && i < 5; i++) {
var item = feed.items[i];
html += '<h3>'
+ '<a href = "'
+ item.link
+ '">'
+ item.title
+ '</a>'
+ '</h3>';
html += '<div class = "updated">'
+ item.updated
+ '</div>';
html += '<div>'
+ item.description
+ '</div>';
}
jQuery(sender).append(html);
}
});
}
<div id = "getanewbrowser">
<script type = "text/javascript">
getFeed($("#getanewbrowser"), 'http://feeds.feedburner.com/getanewbrowser')
</script>
</div>
<script type = "text/javascript" src = "./js/jquery/jquery.js"></script>
<script type = "text/javascript" src = "./js/jFeed/build/dist/jquery.jfeed.pack.js"></script>
<script type = "text/javascript">
function loadFeed(){
$.getFeed({
url: 'url=http://sports.espn.go.com/espn/rss/news/',
success: function(feed) {
//Title
$('#result').append('<h2><a href = "' + feed.link + '">' + feed.title + '</a>' + '</h2>');
//Unordered List
var html = '<ul>';
$(feed.items).each(function(){
var $item = $(this);
//trace( $item.attr("link") );
html += '<li>' +
'<h3><a href = "' + $item.attr("link") + '" target = "_new">' +
$item.attr("title") + '</a></h3> ' +
'<p>' + $item.attr("description") + '</p>' +
// '<p>' + $item.attr("c:date") + '</p>' +
'</li>';
});
html += '</ul>';
$('#result').append(html);
}
});
}
</script>
Неплохой ответ, но, к сожалению, вы не очень хорошо справились с вставкой кода. ;-)
Я использую jquery с yql для подачи. Вы можете получить twitter, rss, buzz с помощью yql. Читал из http://tutorialzine.com/2010/02/feed-widget-jquery-css-yql/. Для меня это очень полезно.
jFeed несколько устарел, работает только со старыми версиями jQuery. Прошло два года с момента его обновления.
zRSSFeed, возможно, немного менее гибкий, но он прост в использовании и работает с текущей версией jQuery (в настоящее время 1.4). http://www.zazar.net/developers/zrssfeed/
Вот краткий пример из документации zRSSFeed:
<div id = "test"><div>
<script type = "text/javascript">
$(document).ready(function () {
$('#test').rssfeed('http://feeds.reuters.com/reuters/oddlyEnoughNews', {
limit: 5
});
});
</script>
Обратите внимание, что это работает только с нелокальными фидами, поскольку он использует Google Feed API (Google должен иметь возможность загружать фид xml).
jFeed не работает в IE.
Используйте zRSSFeed. Если бы он работал через 5 минут
Доступно на zazar.net/developers/zrssfeed Собираюсь попробовать это сам, чтобы увидеть, как оно пойдет, выглядит многообещающим.
Кстати, zRssFeed внутренне использует Google Feed RSS API. Так что, если кто-то хочет создать сам HTML-макет, проще просто взглянуть на него напрямую.
супер круто ... единственное, что если бы они предоставляли объекты фида, а не весь html в функции обратного вызова, это было бы здорово ...
К вашему сведению, всем, кто хочет использовать этот плагин. Разработчик разместил следующее. «ЭТОТ ПЛАГИН ПРЕКРАЩЕН. В связи с удалением Google Feeds API из службы, на что ответил плагин, он больше не будет доступен или поддерживаться». Источник: zazar.net/developers/jquery/zrssfeed
ПРЕДУПРЕЖДЕНИЕ
The Google Feed API is officially deprecated and doesn't work anymore!
Нет необходимости в плагине целиком. Это вернет ваш RSS как объект JSON в функцию обратного вызова:
function parseRSS(url, callback) {
$.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
success: function(data) {
callback(data.responseData.feed);
}
});
}
Пробовал jFeed, и это не сработало, это отлично работает и не требует дополнительной библиотеки.
Меня интересует отсутствующий ключ API, который Google запрашивает во всех своих запросах.
имейте в виду ... используя API Google, каналы кэшируются, поэтому вы не будете получать самые последние и самые лучшие каналы.
где это кешируется? как я могу удалить кеш?
какое значение должно быть передано в url
@JegBagus У меня была такая же проблема, и я опубликовал свое решение ниже
Это не лучший ответ. Это зависит от сторонней компании [Google], поддерживающей их обслуживание. Он не отвечает на исходный вопрос («Разобрать RSS с помощью jQuery»), а вместо этого рекламирует Google. Что, если Google откажется от своего ajax API или изменит его? Ваш сайт ломается.
Как применить google.feeds.Feed.MIXED_FORMAT к этому примеру кода?
@CharlesGoodwin, да, это решение зависит от сторонней службы и поэтому не идеально, но если вы попадаете на междоменный URL-адрес, вам понадобится какая-то размещенная служба. Согласно ToS Google (developers.google.com/feed/terms), этот API будет доступен до апреля 2015 года. У Yahoo также есть служба (см. github.com/AIRSHP/Feed-To-JSON/blob/master/jquery.feedToJSON .js), и на github есть множество проектов преобразования XML в JSON, если вы хотите разместить свой собственный.
«решение зависит от службы, размещенной на стороннем сервере, и поэтому не является идеальным»: что ж, пожалуйста, рассматривайте всю всемирную паутину как ориентированную на стороннюю организацию архитектуру. Кстати, если вам нужно получить сочетание RSS-каналов, упорядоченный по дате элемента, и если вы не боитесь (исторической) третьей стороны: pipe.yahoo.com/pipes - отличное решение, выводящее JSON / XML.
@CharlesGoodwin Google только что удалил этот API! developers.google.com/feed/?hl=en
Если кто-то заинтересован в замене прежнего Google Feed API, вы можете найти его здесь: github.com/sdepold/feedrapp
Для тех из нас, кто приходит к обсуждению поздно, начиная с версии 1.5 jQuery имеет встроенные возможности синтаксического анализа XML, что позволяет довольно легко сделать это без плагинов или сторонних сервисов. Он имеет функцию parseXml, а также автоматически анализирует xml при использовании функции $ .get. Например.:
$.get(rssurl, function(data) {
var $xml = $(data);
$xml.find("item").each(function() {
var $this = $(this),
item = {
title: $this.find("title").text(),
link: $this.find("link").text(),
description: $this.find("description").text(),
pubDate: $this.find("pubDate").text(),
author: $this.find("author").text()
}
//Do something with item here...
});
});
Ошибка XmlHttpRequest: источник не разрешен Access-Control-Allow-Origin
@jackocnr, да, это оборотная сторона этого метода. Вы не можете выполнять междоменные запросы, если у вас нет доступа для установки заголовка Access-Control-Allow-Origin на исходном сервере. Если сервер поддерживает jsonp, то это ваш лучший выбор. В противном случае вы можете использовать прокси-скрипт в своем домене для получения xml и затем вызвать этот скрипт вместо внешнего сервера.
Это действительно единственный ответ, который не зависит от внешних плагинов или сервисов?
Почему $this.find("link").text() всегда возвращает пустую строку ''?
@JeffTian, сложно сказать, не увидев ваш xml. Наиболее очевидной причиной может быть то, что элемент <link> отсутствует или пуст.
@DavidHammond, спасибо за ответ. Я выяснил причину, по которой возвращенные данные содержат некоторые ведущие невидимые пробелы, используя $ .parseXML (data). Итак, я решил проблему с помощью $xml = $($.parseXML(data.trim()));, и тогда я смог получить ссылку, как и ожидалось.
Я согласен с @Andrew, использование Google - надежный, многоразовый способ сделать это с огромным преимуществом, заключающимся в том, что вы получаете обратно JSON вместо XML. Дополнительным преимуществом использования Google в качестве прокси-сервера является то, что службы, которые могут заблокировать ваш прямой доступ к своим данным, вряд ли остановят Google. Вот пример использования отчета о лыжах и данных условий. У него есть все обычные приложения реального мира: 1) Сторонний RSS / XML 2) JSONP 3) Очистка строк и строк в массив, когда вы не можете получить данные именно так, как вы хотите 4) при загрузке добавляйте элементы в ДОМ. Надеюсь, это поможет некоторым людям!
<!-- Load RSS Through Google as JSON using jQuery -->
<script type = "text/javascript">
function displaySkiReport (feedResponse) {
// Get ski report content strings
var itemString = feedResponse.entries[0].content;
var publishedDate = feedResponse.entries[0].publishedDate;
// Clean up strings manually as needed
itemString = itemString.replace("Primary: N/A", "Early Season Conditions");
publishedDate = publishedDate.substring(0,17);
// Parse ski report data from string
var itemsArray = itemString.split("/");
//Build Unordered List
var html = '<h2>' + feedResponse.entries[0].title + '</h2>';
html += '<ul>';
html += '<li>Skiing Status: ' + itemsArray[0] + '</li>';
// Last 48 Hours
html += '<li>' + itemsArray[1] + '</li>';
// Snow condition
html += '<li>' + itemsArray[2] + '</li>';
// Base depth
html += '<li>' + itemsArray[3] + '</li>';
html += '<li>Ski Report Date: ' + publishedDate + '</li>';
html += '</ul>';
$('body').append(html);
}
function parseRSS(url, callback) {
$.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
success: function(data) {
callback(data.responseData.feed);
}
});
}
$(document).ready(function() {
// Ski report
parseRSS("http://www.onthesnow.com/michigan/boyne-highlands/snow.rss", displaySkiReport);
});
</script>
Это не сработает из-за проблем с несколькими доменами. Вам нужен JSONP.
Меня устраивает. Вы это тестировали? Почти уверен, что Google возвращает jsonp, используя параметр обратного вызова, а не ajax dataType.
Не уверен, за что был проголосован против. Этот код все еще работает три года спустя. Вставьте все это в консоль, и вы увидите текущие (XML) условия катания на лыжах, добавленные в нижний колонтитул этой страницы.
zRSSfeed построен на jQuery, и простая тема потрясающая. Попробуйте.
Update (Oct 15, 2019)
Я извлек базовую логику из jquery-rss в новую библиотеку под названием Ванильный RSS, которая использует API выборки и может работать без каких-либо дополнительных зависимостей:
const RSS = require('vanilla-rss');
const rss = new RSS(
document.querySelector("#your-div"),
"http://www.recruiter.com/feed/career.xml",
{
// options go here
}
);
rss.render().then(() => {
console.info('Everything is loaded and rendered');
});
Original
Почта:
Вы также можете использовать jquery-rss, который поставляется с красивыми шаблонами и очень прост в использовании:
$("#your-div").rss("http://www.recruiter.com/feed/career.xml", {
limit: 3,
layoutTemplate: '<ul class = "inline">{entries}</ul>',
entryTemplate: '<li><a href = "{url}">[{author}@{date}] {title}</a><br/>{shortBodyPlain}</li>'
})
урожайность (по состоянию на 18 сентября 2013 г.):
<div id = "your-div">
<ul class = "inline">
<entries></entries>
</ul>
<ul class = "inline">
<li><a href = "http://www.recruiter.com/i/when-to-go-over-a-recruiter%e2%80%99s-head/">[@Tue, 10 Sep 2013 22:23:51 -0700] When to Go Over a Recruiter's Head</a><br>Job seekers tend to have a certain "fear" of recruiters and hiring managers, and I mean fear in the reverence and respect ...</li>
<li><a href = "http://www.recruiter.com/i/the-perfect-job/">[@Tue, 10 Sep 2013 14:52:40 -0700] The Perfect Job</a><br>Having long ago dealt with the "perfect resume" namely God's, in a previous article of mine, it makes sense to consider the ...</li>
<li><a href = "http://www.recruiter.com/i/unemployment-benefits-applications-remain-near-5-year-low-decline-again/">[@Mon, 09 Sep 2013 12:49:17 -0700] Unemployment Benefits Applications Remain Near 5-Year Low, Decline Again</a><br>As reported by the U.S. Department of Labor, the number of workers seeking unemployment benefits continued to sit near ...</li>
</ul>
</div>
См. Рабочий пример http://jsfiddle.net/sdepold/ozq2dn9e/1/.
Имейте в виду, что jquery-rss использует API Google Feed, который кэширует канал, что может представлять проблему. Вы можете обмануть его, добавив параметр нежелательной ссылки: stackoverflow.com/questions/13401936/…
предоставьте пример форматирования даты без использования moment.js
Проверьте следующий фрагмент gist.github.com/sdepold/d1e5e0e7a66fc77930fe. Он будет генерировать что-то вроде этого: «<some content>, [@ 2015-11-18]»
Просто хотел упомянуть, что jquery-rss НЕ использует API Google Feed, а заменяет его под названием Feedr (github.com/sdepold/feedrapp) и, соответственно, отлично работает, несмотря на то, что исходный API отключен.
(function(url, callback) {
jQuery.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
success: function(data) {
callback(data.responseData.feed);
}
});
})('http://news.hitb.org/rss.xml', function(feed){ // Change to desired URL
var entries = feed.entries, feedList = '';
for (var i = 0; i < entries.length; i++) {
feedList +='<li><a href = "' + entries[i].link + '">' + entries[i].title + '</a></li>';
}
jQuery('.feed > ul').append(feedList);
});
<div class = "feed">
<h4>Hacker News</h4>
<ul></ul>
</div>
jFeed прост и имеет пример, который вы можете проверить. Но если вы анализируете канал с другого сервера, вам необходимо разрешить Совместное использование ресурсов между источниками (CORS) на сервере канала. Вам также понадобится проверьте поддержку браузера.
Я загрузил пример, но все еще не получил поддержки со стороны IE ни в одной версии, когда я изменил URL-адрес в примере на что-то вроде example.com/feed.rss через протокол http. CORS должен поддерживаться в IE 8 и выше, но в примере jFeed канал не отображался.
Лучше всего использовать API Google:
https://developers.google.com/feed/v1/devguide
См .:
https://github.com/jfhovinne/jFeed
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
http://en.wikipedia.org/wiki/Same_origin_policy
http://caniuse.com/cors
Каналы jQuery - хороший вариант, он имеет встроенную систему шаблонов и использует Google Feed API, поэтому имеет междоменную поддержку.
Используйте google ajax api, кэшированный Google и любой формат вывода, который вы хотите.
Образец кода; http://code.google.com/apis/ajax/playground/#load_feed
<script src = "http://www.google.com/jsapi?key=AIzaSyA5m1Nc8ws2BbmPRwKu5gFradvD_hgq6G0" type = "text/javascript"></script>
<script type = "text/javascript">
/*
* How to load a feed via the Feeds API.
*/
google.load("feeds", "1");
// Our callback function, for when a feed is loaded.
function feedLoaded(result) {
if (!result.error) {
// Grab the container we will put the results into
var container = document.getElementById("content");
container.innerHTML = '';
// Loop through the feeds, putting the titles onto the page.
// Check out the result object for a list of properties returned in each entry.
// http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
div.appendChild(document.createTextNode(entry.title));
container.appendChild(div);
}
}
}
function OnLoad() {
// Create a feed instance that will grab Digg's feed.
var feed = new google.feeds.Feed("http://www.digg.com/rss/index.xml");
// Calling load sends the request off. It requires a callback function.
feed.load(feedLoaded);
}
google.setOnLoadCallback(OnLoad);
</script>
это отличный вариант, потому что он не полагается на jquery!
UPDATE [4/25/2016] Now better written and fully supported version with more options and abilities hosted at GitHub.jQRSS
Я видел Выбрано Ответ от Натан Струтц, однако ссылка на страницу плагина jQuery все еще не работает, и домашняя страница для этого сайта, похоже, не загружается. Я попробовал несколько других решений и обнаружил, что большинство из них не только устаревшие, но и ЛЕГКИЙ! Таким образом, я бросил шляпу и сделал свой собственный плагин, и с мертвыми ссылками здесь, это похоже на отличное место для отправки ответа. Если вы ищете этот ответ в 2012 году (скоро до 2013 года), вы можете заметить разочарование мертвыми ссылками и старыми советами здесь, как это сделал я. Ниже приведена ссылка на мой пример плагина современное, а также код этого плагина! Просто скопируйте код в файл JS и свяжите его в заголовке, как любой другой плагин. Использование ЧРЕЗВЫЧАЙНО EZ!
Plugin Code
2/9/2015 - made long overdue update to check forconsolebefore sending commands to it! Should help with older IE issues.
(function($) {
if (!$.jQRSS) {
$.extend({
jQRSS: function(rss, options, func) {
if (arguments.length <= 0) return false;
var str, obj, fun;
for (i=0;i<arguments.length;i++) {
switch(typeof arguments[i]) {
case "string":
str = arguments[i];
break;
case "object":
obj = arguments[i];
break;
case "function":
fun = arguments[i];
break;
}
}
if (str == null || str == "") {
if (!obj['rss']) return false;
if (obj.rss == null || obj.rss == "") return false;
}
var o = $.extend(true, {}, $.jQRSS.defaults);
if (typeof obj == "object") {
if ($.jQRSS.methods.getObjLength(obj) > 0) {
o = $.extend(true, o, obj);
}
}
if (str != "" && !o.rss) o.rss = str;
o.rss = escape(o.rss);
var gURL = $.jQRSS.props.gURL
+ $.jQRSS.props.type
+ "?v = " + $.jQRSS.props.ver
+ "&q = " + o.rss
+ "&callback = " + $.jQRSS.props.callback;
var ajaxData = {
num: o.count,
output: o.output,
};
if (o.historical) ajaxData.scoring = $.jQRSS.props.scoring;
if (o.userip != null) ajaxData.scoring = o.userip;
$.ajax({
url: gURL,
beforeSend: function (jqXHR, settings) { if (window['console']) { console.info(new Array(30).join('-'), "REQUESTING RSS XML", new Array(30).join('-')); console.info({ ajaxData: ajaxData, ajaxRequest: settings.url, jqXHR: jqXHR, settings: settings, options: o }); console.info(new Array(80).join('-')); } },
dataType: o.output != "xml" ? "json" : "xml",
data: ajaxData,
type: "GET",
xhrFields: { withCredentials: true },
error: function (jqXHR, textStatus, errorThrown) { return new Array("ERROR", { jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown } ); },
success: function (data, textStatus, jqXHR) {
var f = data['responseData'] ? data.responseData['feed'] ? data.responseData.feed : null : null,
e = data['responseData'] ? data.responseData['feed'] ? data.responseData.feed['entries'] ? data.responseData.feed.entries : null : null : null
if (window['console']) {
console.info(new Array(30).join('-'), "SUCCESS", new Array(30).join('-'));
console.info({ data: data, textStatus: textStatus, jqXHR: jqXHR, feed: f, entries: e });
console.info(new Array(70).join('-'));
}
if (fun) {
return fun.call(this, data['responseData'] ? data.responseData['feed'] ? data.responseData.feed : data.responseData : null);
}
else {
return { data: data, textStatus: textStatus, jqXHR: jqXHR, feed: f, entries: e };
}
}
});
}
});
$.jQRSS.props = {
callback: "?",
gURL: "http://ajax.googleapis.com/ajax/services/feed/",
scoring: "h",
type: "load",
ver: "1.0"
};
$.jQRSS.methods = {
getObjLength: function(obj) {
if (typeof obj != "object") return -1;
var objLength = 0;
$.each(obj, function(k, v) { objLength++; })
return objLength;
}
};
$.jQRSS.defaults = {
count: "10", // max 100, -1 defaults 100
historical: false,
output: "json", // json, json_xml, xml
rss: null, // url OR search term like "Official Google Blog"
userip: null
};
}
})(jQuery);
USE
// Param ORDER does not matter, however, you must have a link and a callback function
// link can be passed as "rss" in options
// $.jQRSS(linkORsearchString, callbackFunction, { options })
$.jQRSS('someUrl.xml', function(feed) { /* do work */ })
$.jQRSS(function(feed) { /* do work */ }, 'someUrl.xml', { count: 20 })
$.jQRSS('someUrl.xml', function(feed) { /* do work */ }, { count: 20 })
$.jQRSS({ count: 20, rss: 'someLink.xml' }, function(feed) { /* do work */ })
$ .jQRSS ('Искать слова здесь вместо ссылки', функция (канал) {/ * работает * /})
// TODO: требует исправления
Options
{
count: // default is 10; max is 100. Setting to -1 defaults to 100
historical: // default is false; a value of true instructs the system to return any additional historical entries that it might have in its cache.
output: // default is "json"; "json_xml" retuns json object with xmlString / "xml" returns the XML as String
rss: // simply an alternate place to put news feed link or search terms
userip: // as this uses Google API, I'll simply insert there comment on this:
/* Reference: https://developers.google.com/feed/v1/jsondevguide
This argument supplies the IP address of the end-user on
whose behalf the request is being made. Google is less
likely to mistake requests for abuse when they include
userip. In choosing to utilize this parameter, please be
sure that you're in compliance with any local laws,
including any laws relating to disclosure of personal
information being sent.
*/
}
Проект jQuery-rss довольно легкий и не требует особого стиля.
Синтаксис может быть таким простым, как
$("#rss-feeds").rss("http://www.recruiter.com/feed/career.xml")
Суперфидр имеет плагин jquery, который делает это очень хорошо. У вас не будет проблем с политикой Cross Origin, и обновления будут распространяться в реальном времени.
Почему бы в этом решении не было проблем с CORS?
Советую использовать FeedEk. После того, как Google Feed API официально устарел, большинство плагинов перестали работать. Но FeedEk все еще работает. Он очень прост в использовании и имеет множество опций, которые можно настроить.
$('#divRss').FeedEk({
FeedUrl:'http://jquery-plugins.net/rss'
});
С опциями
$('#divRss').FeedEk({
FeedUrl:'http://jquery-plugins.net/rss',
MaxCount : 5,
ShowDesc : true,
ShowPubDate:true,
DescCharacterLimit:100,
TitleLinkTarget:'_blank',
DateFormat: 'MM/DD/YYYY',
DateFormatLang:'en'
});
Я не уверен, что вы действительно можете определить альтернативную конечную точку api, но если бы вы могли, потенциально была бы возможность заменить api фида Google на feedrapp: github.com/sdepold/feedrapp (который также является основой для jquery-rss в настоящее время)
Это не выполняет синтаксический анализ. Он использует yahooapis для синтаксического анализа, а затем просто отображает контент.
Для всех, кто попал сюда из Google, мне пришлось создать аналогичную вещь для программы просмотра эскизов на сайте deviantART. Красиво, просто и легко расширяется: adamjamesnaylor.com/2012/11/05/…. Обратите внимание, что он использует программу чтения каналов Google, но только для преобразования ее в JSON.