2013-07-19 2 views
2

Какие недостатки существуют при использовании методов и инструментов «скребки», таких как http://simplehtmldom.sourceforge.net/, если вам нужно отображать содержимое в другом шаблоне и домене, например «m.mysite.com» для мобильной версии вашего сайта? Я понимаю, что традиционный способ сделать это - подключиться к вашей базе данных и написать SQL-запросы, чтобы получить доступ к тому, что вам нужно.Использование простого HTML DOM Parser для создания мобильного сайта

Однако мои знания SQL отсутствуют, и БД довольно сложна с использованием пользовательской CMS (я не создал сайт изначально). Все, что мне нужно, находится в интерфейсе, и я могу получить доступ к каждой части с помощью простой DOM и разместить ее в шаблоне jQuery Mobile.

Единственным недостатком, который я вижу, является то, что если кто-то изменит класс или идентификатор на главном сайте, он может сломать мобильный сайт. Но каковы другие последствия? Будет ли мобильный сайт, построенный таким образом, медленно загружаться, даже если основной сайт основан на нагрузках быстро? Что-нибудь еще мне не хватает?

Кроме того, это не так, как работают такие услуги, как http://www.dudamobile.com/? У них, конечно же, нет доступа к вашей БД.

Спасибо за любую помощь.

+0

SimpleHtmlDom довольно медленный и голодный голодный по сравнению с собственными решениями. Возможно, вы захотите [рассмотреть возможность использования альтернативы на основе libxml] (http://stackoverflow.com/questions/3577641/how-to-parse-and-process-html-with-php/3577662). Не могу помочь с другими вещами. Не делайте то, что вы пытаетесь сделать. – Gordon

+0

Спасибо @ Gordon. Это полезно. Я просто пытаюсь сделать мобильную версию сайта, очищая DOM вместо доступа к базе данных. –

ответ

0

Если бы я был вами, я бы разработал API высокого уровня и использовал его с шаблоном. Как только вы это сделаете, у вас есть API, который вы всегда можете легко использовать для получения данных из вашей базы данных. Кроме того, использование механизма шаблонов дает вам возможность отображать одну и ту же информацию в разных шаблонах.

+0

Как я могу построить API, если я не могу написать сложные SQL-запросы, чтобы объединить различные таблицы? –

Смежные вопросы