Rails: как я могу разобрать файл RSS с помощью Feedjira

Я пытаюсь разобрать файл RSS. Он выдает ответ 404, когда я делаю:

Feedjira::Feed.fetch_and_parse url

Итак, я подумал, пытаясь:

Feedjira::Parser::RSS.parse url

Но это возвращает 0 записей

Это именно то, что я пытаюсь:

<% Feedjira::Parser::RSS.parse("my url here").entries.each do |e| %>

    <%= "#{e.title}" %><br />

<% end %>

RSS-файл анализируется без проблем с php в другой сети. Это структура:

    <rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
        <channel>
            <title>Title here</title>
            ... etc ...
            <item>
                <title>Title here</title>
                 ... etc ...
            </item>
            <item> ... etc ... </item>
        </channel>
    </rss>

person user2755140    schedule 17.06.2015    source источник
comment
Можете ли вы предоставить URL-адрес, чтобы я мог проверить это сам?   -  person Rahul Roy    schedule 17.06.2015
comment
@RahulRoy вот (см. ниже)   -  person user2755140    schedule 17.06.2015
comment
Обычный метод, который я успешно использовал с <feed> файлами, выдает с <rss> файлами следующую ошибку: Fetch failed - 404.   -  person user2755140    schedule 17.06.2015
comment
У меня все отлично работает без ошибки 404. Я использовал тот же метод fetch_and_parse.   -  person Rahul Roy    schedule 17.06.2015
comment
@RahulRoy Можете ли вы предоставить скриншот?   -  person user2755140    schedule 17.06.2015
comment
@RahulRoy И если вы говорите, что у вас все работает, почему бы вам не опубликовать ответ с кодом? Это было бы полезно! Спасибо.   -  person user2755140    schedule 17.06.2015
comment
Конечно dropbox.com/s /1tkly4atfr1fqi8/   -  person Rahul Roy    schedule 17.06.2015
comment
Конечно! Должен ли я просто восстановить старый ответ или просто добавить новый?   -  person Rahul Roy    schedule 17.06.2015
comment
@RahulRoy Возможно, отредактируйте старый.   -  person user2755140    schedule 17.06.2015
comment
@RahulRoy Кстати, я попробовал консоль, как и вы (согласно изображению, связанному с Dropbox), и у меня был тот же ответ 404. Я действительно с нетерпением жду, чтобы увидеть, отличается ли ваш код от моего, потому что, если вы можете получить тот же код, что и я, тогда у меня совсем другая проблема. Я все равно дам вам лучший ответ. Спасибо!   -  person user2755140    schedule 17.06.2015
comment
Не забудьте удалить этот URL, так как он содержит ваш токен доступа. Который должен быть секретным.   -  person Rahul Roy    schedule 17.06.2015


Ответы (1)


Странно, что Feedjira::Feed.fetch_and_parse url у вас не работает. Он отлично работает для меня.

Вот как я это сделал. Я использую RSS-канал Railscasts, например:

url = "http://railscasts.com/subscriptions/rZNfSBu1hH7hOwV1mjqyLw/episodes.rss"
feed = Feedjira::Feed.fetch_and_parse url

feed.entries.each do |entry|
  puts entry.title
end
person Rahul Roy    schedule 17.06.2015
comment
Вы читали вопрос? Я пытаюсь разобрать файл RSS. Он выдает ответ 404, когда я делаю: Feedjira::Feed.fetch_and_parse url. Это первое, что я написал. - person user2755140; 17.06.2015
comment
@DaseinA Плохо! Как-то я забыл первую часть, когда пробовал фиджиру. Простите за это :( - person Rahul Roy; 17.06.2015
comment
Вы уверены, что он работает с моим URL? Он продолжает давать мне ответ 404, когда я заменяю ваш URL своим. Я все равно награжу вас лучшим ответом, потому что это, похоже, совсем другая проблема, скорее связанная с ограничениями IP-адресов с моего сервера или чем-то еще. Спасибо. - person user2755140; 17.06.2015
comment
Да. Он заработал с того же URL-адреса (предоставленного вами). Разве вы не можете сказать это по выходу? Спасибо, что выбрали мой ответ. Я рад, что это помогло. - person Rahul Roy; 17.06.2015