Как лучше всего парсить данные
Есть двойная задача:
1. Скриптом залогиниться на внешнем веб-сайте
2. Распарсить таблицу данных и сохранить себе в базу
Вопрос в том, есть ли какие-то волшебные средства для этого, упрощающие жизнь РНР-программера?
На данный момент решается через cURL + regexp. Недостаток — смена дизайна (например, что-то поменяли в HTML-разметке разбираемого блока) приводит к тому, что надо переделывать скрипт.
12 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівДоговор не всегда получится заключить (если нужно взять цифирки из сайта какого-нить гиганта типа Гугла или Пейпала), но идея правильная, спасибо!
Подписывается двусторонний договор. Оговаривается формат трансфера данных. В договоре описывается порядок изменения структуры данных и уведомления об этом другой стороны. Оговаривается регламент процедуры и оговаривается доступность сервиса (резервные сервера) во времени.
Решаются проблемы:
1. Парсинга — тебе предоставляю данные, а не ты их откуда-то выколупываеш
2. Изменения формата — тебя уведомят «до того как»
3. бОльшую часть работы могут сделать не программисты (договор заключить и так далее). От программера требуется только согласовать техническую спецификацию. В идеале вааще попросить csv формат для заливки «на лету» в базу без всяких там DOM:)
4. При выполнении П.2 от программера требуебуется только расслабиться и наслаждаться жизнью:) — дня за 2 можно полностью управиться.
Или задача не стоит «договора»?
Да, сайт, который надо парсить, не свой.
Идею я понял, спасибо, парни!
если так сильно не хочеться парсер менять
Что то мне подсказывает что человек парсит совсем не свои сайты, и добавлять что то у него возможности нету.
например как ворд добавляет свои теги в HTML когда с помощью него создавать страницу, так же уктуально и для других скриптовых языков — есть каменты которые не значат для парсера вью, но могут значить для парсера данных
млжно раскидать non-html данные в DOM и тогда работать не зависимо от структуры
Если поменялась структура страницы — прийдется чинить парсер. Никакая библиотека от этого не спасет.
2 Soft: да, можно использовать DOM и XPath, этим путём и собирался идти. Просто мало ли — DOM изменится...
simplehtmldom.sourceforge.net/manual.htm
Использовал PHP на уровне блондинки (тоесть с книжкой в руках для пары страничек), но разве там нет DOM-парсера для HTML?
www.parse.com.ua
www.parse.com.ua/...egory/tonkosti
або запитати в аторів цього сайту.