Воспроизведите веб-клипер Evernote в приложении Rails - PullRequest
3 голосов
/ 10 июля 2010

Я хотел бы написать приложение на Rails, которое может захватывать веб-страницы, как это делает клипер Evernote.Если вы не знакомы, в вашем браузере вы можете нажать кнопку на панели инструментов, и она сделает довольно точную копию макета веб-страницы.Например, перейдите на http://www.evernote.com/pub/jssmith072/shared и щелкните одну заметку на этой странице, и вы сможете увидеть захваченную мной веб-страницу.Есть несколько причин, по которым я понятия не имею, с чего начать:

  • Как программно получить визуализированную веб-страницу в приложении Rails?Могу ли я использовать WebKit?
  • Как сохранить эту веб-страницу в моей базе данных?
  • Как можно последовательно отображать архив этой веб-страницы в браузерах?

1 Ответ

0 голосов
/ 10 июля 2010

Лично я был бы склонен вообще не хранить его в базе данных, а скорее запускать фоновое задание, чтобы свернуть сайт, проанализировать его и отфильтровать с вашим портом читабельности, а затем сохранить его где-нибудь в файловой системе (общедоступный или непубличный, в зависимости от ваших потребностей, вы можете легко написать контроллер, обслуживающий ресурсы, чтобы показать непубличный статический контент), используя схему каталогов, которая однозначно идентифицирует его.

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

Для чего-то подобного вам всего лишь нужна простая запись в базе данных с идентификатором, URL-адресом, каким-то флагом, указывающим, что она была успешно загружена (или когда произошла последняя ошибка,это можно будет повторить позже), путь к файловой системе, в которой он должен / будет сохранен, и, возможно, текстовый столбец с дампом текста страниц для целей поиска.

...