Rails, HTML в JSON?

0

Учитывая статическую HTML-страницу, существует ли автоматизированный способ генерации json?

Для большого сайта, который содержит много статического HTML, я хочу генерировать json для RSS-каналов и функций поиска, и я ищу способ конвертировать HTML в json.

Я мог бы, очевидно, написать json шаблоны для каждой страницы и каждого языка, но это было бы немыслимым. Это удвоит веб-сайт 800 страниц до 1600 страниц, и это не вариант.

Один из подходов, о котором я думал, может состоять в том, чтобы написать бота, который будет циклически проходить через маршруты, чтобы индексировать страницы и сохранять данные в базу данных, которая давала бы мне все варианты, которые я мог бы пожелать, для поиска таких, как solr, эластичный поиск, мышление sphinx и т.д...

Я мог бы использовать capybarra, чтобы помочь мне в этом, посетив каждый путь и извлекая текст для сохранения в базу данных в задаче rake в качестве фоновой задачи, но не уверен, как это будет работать в производственной среде, и кажется, что такое общее требование может иметь уже достигнуто, но для жизни меня я не могу найти.

Я был бы намного счастливее (я думаю), если бы мог найти способ конвертировать текстовый контент HTML в JSON

Есть идеи? Это уже сделано? есть ли какие-нибудь драгоценные камни, которые могли бы помочь? или есть встроенная функциональность, о которой я не думал, может быть, способ получить html в хэш, который затем может быть преобразован в json? независимо от того, какой подход должен быть автоматизирован. Я просто застрял для лучшего подхода.

  • 0
    Какой результат вы хотите? Извлечь основные элементы (title, h1 и т. д.) из файла HTML и поместить их в JSON просто.
  • 0
    @dystroy Это было бы отличным началом и может быть все, что мне нужно сделать
Показать ещё 2 комментария
Теги:
ruby-on-rails-4

2 ответа

0
Лучший ответ

Я решил пойти с решением nokogiri в конце и написал парсер для удовлетворения моих потребностей

1

В основном html очень похож на xml, но с сильными значениями тегов, поэтому вы можете использовать преобразование xml для json, если все закончится тем, что дерево html-тегов встроено друг в друга. И поэтому ваш вопрос становится вопросом. За исключением проблем с одиночными тегами, без закрытия одного. Таким образом, вы можете получить все из них и поместить закрывающий скобок после каждого, прежде чем пытаться получить его как хэш из xml. О, ранний ответ. В общем, для анализа текстовых данных вы должны смотреть на регулярные выражения.

  • 0
    Справедливо, но как получить HTML в XML? Я ценю эти мысли и, возможно, в какой-то момент я также захочу преобразовать их в атом для каналов RSS, но вопрос остается, но, возможно, немного изменился, как получить HTML в другом формате?
  • 0
    Спасибо за редактирование. Я ненавижу регулярные выражения, это язык программирования сам по себе и очень мощный, но очень запутанный и сложный. На нем написаны целые книги, и у меня нет ни времени, ни желания изучать еще один инструмент. Должен быть более простой способ? Я надеюсь?
Показать ещё 2 комментария

Ещё вопросы

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