PHP Grabber needed!! :)

Статус
В этой теме нельзя размещать новые ответы.

whitelex

Постоялец
Регистрация
5 Апр 2008
Сообщения
59
Реакции
3
Как грабить определенный html код с помощью php у кого-то есть готовый граббер? Хочу прогноз погоды стаскивать и гороскопы к себе на сайт, нужен простенький скрипт я его сам добью под свои нужды.
 
На phpclasses.org достаточно классов с примерами, которые позволяют разбирать HTML. Если религия позволяет, то можно и на Perl, с помощью HTML::TreeBuilder. Достаточно просто, кстати.
 
Одна из схем:
1- Получаем содержимое страницы с помощью сокетов Для просмотра ссылки Войди или Зарегистрируйся Для просмотра ссылки Войди или Зарегистрируйся или curl
2- находим нужные данные с помощью регулярных выражений
 
можно даже не через сокеты, а просто через file_get_contents. Остается разобраться с регулярными выражениями
 
можно даже не через сокеты, а просто через file_get_contents. Остается разобраться с регулярными выражениями
Это, конечно, проще всего. Но, например, с HTTPS не разгонишься. Для более быстрого результата начни с CURL, для понимания, как работает общение с сервером - с telnet и сокетов. По регекспам, на этом форуме, есть отличная книга Фридла. Удачи.
 
Все то парни хорошо, но вот я пишу под себя грабер контента и у меня много загвоздок на стадии правильного определения мест сдирания контента. А именно, может кто знает решение, как определить саму статью и сграбить ее а не все подряд вместе с менюхой.
В общем имеется куча проблем с определением. Я вот пошол по пути определения сначала тега <div> в который самый увестый, потом работаю только с ним. Беру все что в этом теге и также ищу самый увесистый тег <div> или <p>, и от тудаво уже достаю текст сам.
Все бы хорошо но это тупиковый путь сам понимаю. Я вот думаю а не лутше преобразовать код HTML в XML а потом уже работать с моделью DOM?
Спарашиваю Вас как опытных, может кто ответит?
 
Все то парни хорошо, но вот я пишу под себя грабер контента и у меня много загвоздок на стадии правильного определения мест сдирания контента. А именно, может кто знает решение, как определить саму статью и сграбить ее а не все подряд вместе с менюхой.
В общем имеется куча проблем с определением. Я вот пошол по пути определения сначала тега <div> в который самый увестый, потом работаю только с ним. Беру все что в этом теге и также ищу самый увесистый тег <div> или <p>, и от тудаво уже достаю текст сам.
Все бы хорошо но это тупиковый путь сам понимаю. Я вот думаю а не лутше преобразовать код HTML в XML а потом уже работать с моделью DOM?
Спарашиваю Вас как опытных, может кто ответит?
Только зачем такой гемор? Хочешь написать граббер под все сайты? Тогда не удивляйся, что 20-90% сграбит чушь.
Я пользовался(ьзуюсь) preg_math, причём :Dпод каждый сайт свой шаблон. Там пишешь где в сайте контент, где заголовк. Если шаблон не динамический (встретил один раз- каждый день теги менялись местами ) и шаблон составил верно- получишь контент.
Затем его надо форматировать: часто приходиться убирать ссылки на главную страницу, преведущие статьи, с картинок, исправлять теги шаблона (типа <p class='gы>').
 
Все то парни хорошо, но вот я пишу под себя грабер контента и у меня много загвоздок на стадии правильного определения мест сдирания контента. А именно, может кто знает решение, как определить саму статью и сграбить ее а не все подряд вместе с менюхой.
В общем имеется куча проблем с определением. Я вот пошол по пути определения сначала тега <div> в который самый увестый, потом работаю только с ним. Беру все что в этом теге и также ищу самый увесистый тег <div> или <p>, и от тудаво уже достаю текст сам.
Все бы хорошо но это тупиковый путь сам понимаю. Я вот думаю а не лутше преобразовать код HTML в XML а потом уже работать с моделью DOM?
Спарашиваю Вас как опытных, может кто ответит?
Была та же проблема, только немного в другом контексте. Решается все относительно просто: пишется, так сказать, основной движок, задача которого - упорядочивание, обработка "награбленного" :) и отдача его куда нужно. Чтобы перерабатывать даже динамические шаблоны, процедуры граббинга можно вообще вынести за пределы основного скрипта, тогда изменения алгоритма граббинга отдельного ресурса не коснутся всех остальных. Т.е. на выходе имеем очень гибкий скрипт, который может грабить, практически, что угодно и откуда угодно и подключение источника контента займет минуты.
Правда есть минус - не программеру с таким скриптом ловить нефиг :)
 
Отвечу сразу - скептиков не буду слушать, когда то и хруммер космосом казался (а когда он появился то оказалось что у неких людишек есть подобное но под никсы и со скоростью в 150 раз большей делает то же), так что давайте не будем - нафик надо, до смерти будешь такое делать, главное пробовать а решение придет внезапно!

Я понимаю чно задачи парсера и обработкина надо разносить, тут дело в обработчике, т.е. в моделировании полученого контента на предмет полезных данных. Я вот что думаю сделать пока, надо наверное преобразовывать данные в DOM tree, а дальше работать с ним, где то на форуме читал что парень ваше делал скрин сайта с статьей а потом по скрину вычислял относительные точки входа и выхода для парсера контента, звучит как маразм на первый взгляд но у него так и работает грабер, а скептики бы до такого не додумались :).
 
Отвечу сразу - скептиков не буду слушать, когда то и хруммер космосом казался (а когда он появился то оказалось что у неких людишек есть подобное но под никсы и со скоростью в 150 раз большей делает то же), так что давайте не будем - нафик надо, до смерти будешь такое делать, главное пробовать а решение придет внезапно!
Почему сразу скептики, ведь не прозвучало ни одной фразы, утверждающей, что вариант с моделью DOM невозможен :)

звучит как маразм на первый взгляд но у него так и работает грабер, а скептики бы до такого не додумались :).
Какой маразм? Просто еще одно решение. И может скептики до такого и не додумались бы, но есть одно "но" - у скептиков грабер тоже чудесно грабит :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху